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? > > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "godfrey he"<[email protected]>; > 发送时间: 2020年6月3日(星期三) 下午3:40 > 收件人: "user-zh"<[email protected]>; > > 主题: 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]> 于2020年6月3日周三 下午2:59写道: > > > Hi > > Flink 中RetractStream > > > 是必须要sink支持update的,kafka消息队列本身是不支持update的,所以基于sink为kafka的程序是不能做RetractStream的。 > > > > > > Best, > > Yichao Yang > > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > > 发件人:&nbsp;"star"<[email protected]&gt;; > > 发送时间:&nbsp;2020年6月3日(星期三) 下午2:47 > > 收件人:&nbsp;"[email protected]"<[email protected] > &gt;; > > > > 主题:&nbsp;flink 1.9 关于回撤流的问题 > > > > > > > > 大家好, > > > > > > > > > 在做实时统计分析的时候我将基础汇总层做成了一个回撤流(toRetractStream)输出到kafka里(因为后面很多实时报表依赖这个流,所以就输出了) > > 问题是这个kafka里到回撤流还能转成flink 的RetractStream流吗,转成后我想注册成一张表,然后基于这个表再做聚合分析 > > > > > > > > > > 谢谢
