flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From liu_mingzhang <liu_mingzh...@163.com>
Subject Re: Flink Stream SQL group by TUMBLE(rowtime,)
Date Thu, 25 Apr 2019 02:14:36 GMT
您好,请问         【没有offset从earliest开始,有则从offset开始】这个是怎么实现的啊


On 4/24/2019 16:46,邵志鹏<bobrave@163.com> wrote:
大家好,问题求助:


事件时间使用EventTime,默认Checkpoint【没有offset从earliest开始,有则从offset开始】。


assignTimestampsAndWatermarks,1、不使用Watermark,即默认eventtime时间戳;2、使用官方max取最大值;两种情况问题基本相同:
问题描述:
比如,发送40条数据,窗口消费33条。另外7条,需要继续发送新的数据,才会被消费掉,即便重启程序-也要发送新的数据,才会消费上次"未及时"消费的数据,而不是自动从上一次的offset+1开始。


SQL:
SELECT astyle, TUMBLE_START(rowtime, INTERVAL '10' SECOND) time_start, TUMBLE_END(rowtime,
INTERVAL '10' SECOND) time_end, SUM(energy) AS sum_energy, CAST(COUNT(aid) AS INT) AS cnt,
CAST(AVG(age) AS INT) AS avg_age FROM t_pojo GROUP BY TUMBLE(rowtime, INTERVAL '10' SECOND),
astyle


assignTimestampsAndWatermarks,3、使用System.currentTimeMillis()作为Watermark,消息消费是及时了,但是又有新的问题:
即程序启动后,相当于从latest开始消费消息,不能消费未消费过的offset【即使换掉group.id消费者组也是如此】。


https://stackoverflow.com/questions/55499764/how-to-let-flink-flush-last-line-to-sink-when-producerkafka-does-not-produce-n
https://stackoverflow.com/questions/55779711/why-not-on-time-when-i-consumed-kafka-message-using-flink-streaming-sql-group-by


另外,UTC时区的问题,目前是extractTimestamp的时候,+28800000。很想知道大神们的解决方法是什么,或者就是保存UTC时间,然后结果数据对外的时候再做处理?



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message