flink sql延迟数据

classic Classic list List threaded Threaded
4 messages Options
ang
Reply | Threaded
Open this post in threaded view
|

flink sql延迟数据

ang
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
 
Reply | Threaded
Open this post in threaded view
|

Re: flink sql延迟数据

Benchao Li-2
你是用的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
ang
Reply | Threaded
Open this post in threaded view
|

回复: flink sql延迟数据

ang
感谢benchao,请问下这部分只能通过config来设置吗,有没有可以直接在sql中设置的配置项


&nbsp;




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                                                                        "user-zh"                                                                                    <[hidden email]&gt;;
发送时间:&nbsp;2020年9月23日(星期三) 下午5:22
收件人:&nbsp;"user-zh"<[hidden email]&gt;;

主题:&nbsp;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]&gt; 于2020年9月23日周三 下午4:24写道:

&gt; hi各位,有个问题请教一下:
&gt; 我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event
&gt; time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为
&gt; WATERMARK FOR ts AS ts&amp;nbsp; - INTERVAL '5' SECODND
&gt; ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream api里面可以使用allowed
&gt; lateness,但是这部分在sql中没看到有相关语法
&gt;
&gt;
&gt; Flink版本1.10.1
&gt; &amp;nbsp;



--

Best,
Benchao Li
Reply | Threaded
Open this post in threaded view
|

Re: flink sql延迟数据

Benchao Li-2
这个目前还不能,但是在1.12是可以的,已经在这个issue[1] 中添加了这个功能

[1] https://issues.apache.org/jira/browse/FLINK-18555

ang <[hidden email]> 于2020年9月24日周四 上午11:19写道:

> 感谢benchao,请问下这部分只能通过config来设置吗,有没有可以直接在sql中设置的配置项
>
>
> &nbsp;
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
>                                                   "user-zh"
>                                                                     <
> [hidden email]&gt;;
> 发送时间:&nbsp;2020年9月23日(星期三) 下午5:22
> 收件人:&nbsp;"user-zh"<[hidden email]&gt;;
>
> 主题:&nbsp;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]&gt; 于2020年9月23日周三 下午4:24写道:
>
> &gt; hi各位,有个问题请教一下:
> &gt; 我现在使用flink sql统计一下kafka中在某个时间窗口内指定字段出现的次数,使用event
> &gt; time,需要在5s内输出结果,但是数据会有一些延迟,可能大于5s,目前设置waterwark为
> &gt; WATERMARK FOR ts AS ts&amp;nbsp; - INTERVAL '5' SECODND
> &gt; ,但是这样延迟大于5s的数据就会被丢弃掉,请问下其他延迟的数据有没有什么办法进行处理?我看datastream
> api里面可以使用allowed
> &gt; lateness,但是这部分在sql中没看到有相关语法
> &gt;
> &gt;
> &gt; Flink版本1.10.1
> &gt; &amp;nbsp;
>
>
>
> --
>
> Best,
> Benchao Li



--

Best,
Benchao Li