Hi,

RetractStream 目前是无法输出到 kafka 的,因为 kafka 是 Append 模式。

不过你应该可以定义一个时间窗口 T ,滚动窗口的时间就是 T,然后聚合一次,输出到 kafka,后面都使用这个 kafka topic。

Best,
LakeShen

star <[email protected]> 于2020年6月3日周三 下午4:31写道:

> 感谢两位的回复,
> 转成回撤流的这个流其实是一张轻度汇总表,
> 例如,select year,month,day,province,sub_name,sum(amount),count(*) as cou
> from mytable group by year,month,day,province,sub_name;
>
>
> 后面有几十张实时报表依赖这个流 再进行汇总 计算;
> 我现在是把这个轻度汇总表转成了回撤流输出到了kafka里面,如果后面这几十张报表能够消费这个topic并转成table,就可以做后面到运算了。
>
>
> 不知道能不能转成这样到table?
>
>
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"godfrey he"<[email protected]&gt;;
> 发送时间:&nbsp;2020年6月3日(星期三) 下午3:40
> 收件人:&nbsp;"user-zh"<[email protected]&gt;;
>
> 主题:&nbsp;Re: flink 1.9 关于回撤流的问题
>
>
>
> hi star,
> Flink 1.11 开始已经支持 table source 读取 retract 消息,update 消息。
> 目前支持 Debezium format,Canal format [1],其他的情况目前需要自己实现。
>
>
> Best,
> Godfrey
>
> [1]
>
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=147427289#FLIP105:SupporttoInterpretChangeloginFlinkSQL(IntroducingDebeziumandCanalFormat)-CanalFormat
>
>
> 1048262223 <[email protected]&gt; 于2020年6月3日周三 下午2:59写道:
>
> &gt; Hi
> &gt; Flink 中RetractStream
> &gt;
> 是必须要sink支持update的,kafka消息队列本身是不支持update的,所以基于sink为kafka的程序是不能做RetractStream的。
> &gt;
> &gt;
> &gt; Best,
> &gt; Yichao Yang
> &gt;
> &gt;
> &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; 发件人:&amp;nbsp;"star"<[email protected]&amp;gt;;
> &gt; 发送时间:&amp;nbsp;2020年6月3日(星期三) 下午2:47
> &gt; 收件人:&amp;nbsp;"[email protected]"<[email protected]
> &amp;gt;;
> &gt;
> &gt; 主题:&amp;nbsp;flink 1.9 关于回撤流的问题
> &gt;
> &gt;
> &gt;
> &gt; 大家好,
> &gt;
> &gt;
> &gt;
> &gt;
> 在做实时统计分析的时候我将基础汇总层做成了一个回撤流(toRetractStream)输出到kafka里(因为后面很多实时报表依赖这个流,所以就输出了)
> &gt; 问题是这个kafka里到回撤流还能转成flink 的RetractStream流吗,转成后我想注册成一张表,然后基于这个表再做聚合分析
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; 谢谢

回复