hi各位,有个问题请教一下:
我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为 WATERMARK FOR ts AS ts - INTERVAL '5' SECODND ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream api里面可以使用allowed lateness,但是这部分在sql中没看到有相关语法 Flink版本1.10.1 |
你是用的Blink planner的TUMBLE window么,如果是的话,可以通过设置state retention[1]时间来处理late数据的。
具体的allow lateness的时间就是你设置的min retention time [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/streaming/query_configuration.html#idle-state-retention-time ang <[hidden email]> 于2020年9月23日周三 下午4:24写道: > hi各位,有个问题请教一下: > 我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event > time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为 > WATERMARK FOR ts AS ts - INTERVAL '5' SECODND > ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream api里面可以使用allowed > lateness,但是这部分在sql中没看到有相关语法 > > > Flink版本1.10.1 > -- Best, Benchao Li |
感谢benchao,请问下这部分只能通过config来设置吗,有没有可以直接在sql中设置的配置项
------------------ 原始邮件 ------------------ 发件人: "user-zh" <[hidden email]>; 发送时间: 2020年9月23日(星期三) 下午5:22 收件人: "user-zh"<[hidden email]>; 主题: Re: flink sql延迟数据 你是用的Blink planner的TUMBLE window么,如果是的话,可以通过设置state retention[1]时间来处理late数据的。 具体的allow lateness的时间就是你设置的min retention time [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/streaming/query_configuration.html#idle-state-retention-time ang <[hidden email]> 于2020年9月23日周三 下午4:24写道: > hi各位,有个问题请教一下: > 我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event > time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为 > WATERMARK FOR ts AS ts&nbsp; - INTERVAL '5' SECODND > ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream api里面可以使用allowed > lateness,但是这部分在sql中没看到有相关语法 > > > Flink版本1.10.1 > &nbsp; -- Best, Benchao Li |
这个目前还不能,但是在1.12是可以的,已经在这个issue[1] 中添加了这个功能
[1] https://issues.apache.org/jira/browse/FLINK-18555 ang <[hidden email]> 于2020年9月24日周四 上午11:19写道: > 感谢benchao,请问下这部分只能通过config来设置吗,有没有可以直接在sql中设置的配置项 > > > > > > > > ------------------ 原始邮件 ------------------ > 发件人: > "user-zh" > < > [hidden email]>; > 发送时间: 2020年9月23日(星期三) 下午5:22 > 收件人: "user-zh"<[hidden email]>; > > 主题: Re: flink sql延迟数据 > > > > 你是用的Blink planner的TUMBLE window么,如果是的话,可以通过设置state > retention[1]时间来处理late数据的。 > 具体的allow lateness的时间就是你设置的min retention time > > [1] > > https://ci.apache.org/projects/flink/flink-docs-master/dev/table/streaming/query_configuration.html#idle-state-retention-time > > ang <[hidden email]> 于2020年9月23日周三 下午4:24写道: > > > hi各位,有个问题请教一下: > > 我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event > > time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为 > > WATERMARK FOR ts AS ts&nbsp; - INTERVAL '5' SECODND > > ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream > api里面可以使用allowed > > lateness,但是这部分在sql中没看到有相关语法 > > > > > > Flink版本1.10.1 > > &nbsp; > > > > -- > > Best, > Benchao Li -- Best, Benchao Li |
Free forum by Nabble | Edit this page |