You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 陈帅 <ca...@gmail.com> on 2019/12/08 02:07:59 UTC

Flink RetractStream如何转成AppendStream?

在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?

Re: Flink RetractStream如何转成AppendStream?

Posted by JingsongLee <lz...@aliyun.com.INVALID>.
目前不能由SQL直接转。

Best,
Jingsong Lee


------------------------------------------------------------------
From:陈帅 <ca...@gmail.com>
Send Time:2019年12月10日(星期二) 21:48
To:JingsongLee <lz...@aliyun.com>
Subject:Re: Flink RetractStream如何转成AppendStream?

代码api的方式我知道怎么转,想知道用sql的方式要如何转?需要先写到一张临时表再sink到目标表?有例子吗?
JingsongLee <lz...@aliyun.com> 于2019年12月10日周二 上午10:49写道:

 参考下lucas.wu的例子?

Best,
Jingsong Lee

------------------------------------------------------------------
From:陈帅 <ca...@gmail.com>
Send Time:2019年12月10日(星期二) 08:25
To:user-zh@flink.apache.org <us...@flink.apache.org>; JingsongLee <lz...@aliyun.com>
Subject:Re: Flink RetractStream如何转成AppendStream?

"你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean, Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。"
==>我想知道通过Flink SQL方式要如何实现这种转换?
JingsongLee <lz...@aliyun.com.invalid> 于2019年12月9日周一 下午3:17写道:
Hi 帅,

 你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean, Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。

 Best,
 Jingsong Lee


 ------------------------------------------------------------------
 From:Jark Wu <im...@gmail.com>
 Send Time:2019年12月8日(星期日) 11:54
 To:user-zh <us...@flink.apache.org>
 Subject:Re: Flink RetractStream如何转成AppendStream?

 Hi,

 目前 Kafka  只支持 append mode,所以无法消费 retract stream。在 Flink 1.11,社区将计划支持
 RetractStream 转成 AppendStream 的操作,以 changelog 的方式输出。

 Best,
 Jark

 On Sun, 8 Dec 2019 at 10:08, 陈帅 <ca...@gmail.com> wrote:

 > 在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
 >
 > sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?
 >

Re: Flink RetractStream如何转成AppendStream?

Posted by JingsongLee <lz...@aliyun.com.INVALID>.
参考下lucas.wu的例子?

Best,
Jingsong Lee


------------------------------------------------------------------
From:陈帅 <ca...@gmail.com>
Send Time:2019年12月10日(星期二) 08:25
To:user-zh@flink.apache.org <us...@flink.apache.org>; JingsongLee <lz...@aliyun.com>
Subject:Re: Flink RetractStream如何转成AppendStream?

"你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean, Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。"
==>我想知道通过Flink SQL方式要如何实现这种转换?
JingsongLee <lz...@aliyun.com.invalid> 于2019年12月9日周一 下午3:17写道:
Hi 帅,

 你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean, Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。

 Best,
 Jingsong Lee


 ------------------------------------------------------------------
 From:Jark Wu <im...@gmail.com>
 Send Time:2019年12月8日(星期日) 11:54
 To:user-zh <us...@flink.apache.org>
 Subject:Re: Flink RetractStream如何转成AppendStream?

 Hi,

 目前 Kafka  只支持 append mode,所以无法消费 retract stream。在 Flink 1.11,社区将计划支持
 RetractStream 转成 AppendStream 的操作,以 changelog 的方式输出。

 Best,
 Jark

 On Sun, 8 Dec 2019 at 10:08, 陈帅 <ca...@gmail.com> wrote:

 > 在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
 >
 > sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?
 >

Re: Flink RetractStream如何转成AppendStream?

Posted by 陈帅 <ca...@gmail.com>.
"你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean,
Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。"
==>
我想知道通过Flink SQL方式要如何实现这种转换?

JingsongLee <lz...@aliyun.com.invalid> 于2019年12月9日周一 下午3:17写道:

> Hi 帅,
>
> 你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean,
> Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。
>
> Best,
> Jingsong Lee
>
>
> ------------------------------------------------------------------
> From:Jark Wu <im...@gmail.com>
> Send Time:2019年12月8日(星期日) 11:54
> To:user-zh <us...@flink.apache.org>
> Subject:Re: Flink RetractStream如何转成AppendStream?
>
> Hi,
>
> 目前 Kafka  只支持 append mode,所以无法消费 retract stream。在 Flink 1.11,社区将计划支持
> RetractStream 转成 AppendStream 的操作,以 changelog 的方式输出。
>
> Best,
> Jark
>
> On Sun, 8 Dec 2019 at 10:08, 陈帅 <ca...@gmail.com> wrote:
>
> > 在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
> >
> >
> sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?
> >
>

Re: Flink RetractStream如何转成AppendStream?

Posted by JingsongLee <lz...@aliyun.com.INVALID>.
Hi 帅,

你可以先把RetractStream转成DataStream,这样就出现了Tuple<Boolean, Row>的stream,然后你再写个MapFunc过滤,最后通过DataStream写入Kafka中。

Best,
Jingsong Lee


------------------------------------------------------------------
From:Jark Wu <im...@gmail.com>
Send Time:2019年12月8日(星期日) 11:54
To:user-zh <us...@flink.apache.org>
Subject:Re: Flink RetractStream如何转成AppendStream?

Hi,

目前 Kafka  只支持 append mode,所以无法消费 retract stream。在 Flink 1.11,社区将计划支持
RetractStream 转成 AppendStream 的操作,以 changelog 的方式输出。

Best,
Jark

On Sun, 8 Dec 2019 at 10:08, 陈帅 <ca...@gmail.com> wrote:

> 在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
>
> sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?
>

Re: Flink RetractStream如何转成AppendStream?

Posted by Jark Wu <im...@gmail.com>.
Hi,

目前 Kafka  只支持 append mode,所以无法消费 retract stream。在 Flink 1.11,社区将计划支持
RetractStream 转成 AppendStream 的操作,以 changelog 的方式输出。

Best,
Jark

On Sun, 8 Dec 2019 at 10:08, 陈帅 <ca...@gmail.com> wrote:

> 在用Flink做实时数仓时遇到group by统计后需要将结果发到kafka,但是现在的kafka
>
> sink是不支持RetractStream,因此会报错,有没有什么方法将RetractStream转成AppendStream(例如,忽略撤回的消息,只发送更新的消息),从而可以将结果发到kafka?
>