You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by noake <no...@sina.cn> on 2020/07/07 09:25:45 UTC

如何在Flink SQL中使用周期性水印?

Dear All:


大佬们, 请教下如何在Flink SQL中使用周期性的水印。
我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

回复: 如何在Flink SQL中使用周期性水印?

Posted by 1193216154 <11...@qq.com>.
欢迎加入讨论&nbsp; https://issues.apache.org/jira/browse/FLINK-18523


------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Jark Wu"<imjark@gmail.com&gt;;
发送时间:&nbsp;2020年7月8日(星期三) 中午1:26
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印?



嗯, 可以在 JIRA 中开个 issue 描述下你的需求~

On Wed, 8 Jul 2020 at 12:01, 1193216154 <1193216154@qq.com&gt; wrote:

&gt; &amp;nbsp; &amp;nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人:&amp;nbsp;"Jark Wu"<imjark@gmail.com&amp;gt;;
&gt; 发送时间:&amp;nbsp;2020年7月8日(星期三) 中午11:48
&gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt;
&gt; 主题:&amp;nbsp;Re: 如何在Flink SQL中使用周期性水印?
&gt;
&gt;
&gt;
&gt; 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。
&gt; 目前确实没有太好的解决办法。
&gt;
&gt; Best,
&gt; Jark
&gt;
&gt; On Wed, 8 Jul 2020 at 11:08, 1193216154 <1193216154@qq.com&amp;gt; wrote:
&gt;
&gt; &amp;gt; hi Jark Wu.
&gt; &amp;gt;
&gt; &amp;gt;
&gt; 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。
&gt; &amp;gt;
&gt; 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。
&gt; &amp;gt; 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; ------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
&gt; &amp;gt; 发件人:&amp;amp;nbsp;"Jark Wu"<imjark@gmail.com&amp;amp;gt;;
&gt; &amp;gt; 发送时间:&amp;amp;nbsp;2020年7月7日(星期二) 晚上6:09
&gt; &amp;gt; 收件人:&amp;amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;amp;gt;;
&gt; &amp;gt;
&gt; &amp;gt; 主题:&amp;amp;nbsp;Re: 如何在Flink SQL中使用周期性水印?
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; Hi,
&gt; &amp;gt;
&gt; &amp;gt; 这个问题我理解其实和周期性水印没有关系,是属于 idle source
&gt; &amp;gt; 的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]
&gt; &amp;gt;
&gt; &amp;gt; Best,
&gt; &amp;gt; Jark
&gt; &amp;gt;
&gt; &amp;gt; [1]:
&gt; &amp;gt;
&gt; &amp;gt;
&gt; https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout
&gt; &amp;gt
&gt; <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout&amp;gt&gt;
&gt; ;
&gt; &amp;gt; On Tue, 7 Jul 2020 at 17:35, noake <noake@sina.cn&amp;amp;gt; wrote:
&gt; &amp;gt;
&gt; &amp;gt; &amp;amp;gt; Dear All:
&gt; &amp;gt; &amp;amp;gt;
&gt; &amp;gt; &amp;amp;gt;
&gt; &amp;gt; &amp;amp;gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
&gt; &amp;gt; &amp;amp;gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

Re: 如何在Flink SQL中使用周期性水印?

Posted by Jark Wu <im...@gmail.com>.
嗯, 可以在 JIRA 中开个 issue 描述下你的需求~

On Wed, 8 Jul 2020 at 12:01, 1193216154 <11...@qq.com> wrote:

> &nbsp; &nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"Jark Wu"<imjark@gmail.com&gt;;
> 发送时间:&nbsp;2020年7月8日(星期三) 中午11:48
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印?
>
>
>
> 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。
> 目前确实没有太好的解决办法。
>
> Best,
> Jark
>
> On Wed, 8 Jul 2020 at 11:08, 1193216154 <1193216154@qq.com&gt; wrote:
>
> &gt; hi Jark Wu.
> &gt;
> &gt;
> 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。
> &gt;
> 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。
> &gt; 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
> &gt; 发件人:&amp;nbsp;"Jark Wu"<imjark@gmail.com&amp;gt;;
> &gt; 发送时间:&amp;nbsp;2020年7月7日(星期二) 晚上6:09
> &gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
> &gt;
> &gt; 主题:&amp;nbsp;Re: 如何在Flink SQL中使用周期性水印?
> &gt;
> &gt;
> &gt;
> &gt; Hi,
> &gt;
> &gt; 这个问题我理解其实和周期性水印没有关系,是属于 idle source
> &gt; 的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]
> &gt;
> &gt; Best,
> &gt; Jark
> &gt;
> &gt; [1]:
> &gt;
> &gt;
> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout
> &gt
> <https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout&gt>
> ;
> &gt; On Tue, 7 Jul 2020 at 17:35, noake <noake@sina.cn&amp;gt; wrote:
> &gt;
> &gt; &amp;gt; Dear All:
> &gt; &amp;gt;
> &gt; &amp;gt;
> &gt; &amp;gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
> &gt; &amp;gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

回复: 如何在Flink SQL中使用周期性水印?

Posted by 1193216154 <11...@qq.com>.
&nbsp; &nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Jark Wu"<imjark@gmail.com&gt;;
发送时间:&nbsp;2020年7月8日(星期三) 中午11:48
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印?



如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。
目前确实没有太好的解决办法。

Best,
Jark

On Wed, 8 Jul 2020 at 11:08, 1193216154 <1193216154@qq.com&gt; wrote:

&gt; hi Jark Wu.
&gt;
&gt; 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。
&gt; 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。
&gt; 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。
&gt;
&gt;
&gt;
&gt;
&gt; ------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
&gt; 发件人:&amp;nbsp;"Jark Wu"<imjark@gmail.com&amp;gt;;
&gt; 发送时间:&amp;nbsp;2020年7月7日(星期二) 晚上6:09
&gt; 收件人:&amp;nbsp;"user-zh"<user-zh@flink.apache.org&amp;gt;;
&gt;
&gt; 主题:&amp;nbsp;Re: 如何在Flink SQL中使用周期性水印?
&gt;
&gt;
&gt;
&gt; Hi,
&gt;
&gt; 这个问题我理解其实和周期性水印没有关系,是属于 idle source
&gt; 的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]
&gt;
&gt; Best,
&gt; Jark
&gt;
&gt; [1]:
&gt;
&gt; https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout
&gt;
&gt; On Tue, 7 Jul 2020 at 17:35, noake <noake@sina.cn&amp;gt; wrote:
&gt;
&gt; &amp;gt; Dear All:
&gt; &amp;gt;
&gt; &amp;gt;
&gt; &amp;gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
&gt; &amp;gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

Re: 如何在Flink SQL中使用周期性水印?

Posted by Jark Wu <im...@gmail.com>.
如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。
目前确实没有太好的解决办法。

Best,
Jark

On Wed, 8 Jul 2020 at 11:08, 1193216154 <11...@qq.com> wrote:

> hi Jark Wu.
>
> 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。
> 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。
> 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:&nbsp;"Jark Wu"<imjark@gmail.com&gt;;
> 发送时间:&nbsp;2020年7月7日(星期二) 晚上6:09
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印?
>
>
>
> Hi,
>
> 这个问题我理解其实和周期性水印没有关系,是属于 idle source
> 的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]
>
> Best,
> Jark
>
> [1]:
>
> https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout
>
> On Tue, 7 Jul 2020 at 17:35, noake <noake@sina.cn&gt; wrote:
>
> &gt; Dear All:
> &gt;
> &gt;
> &gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
> &gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

回复: 如何在Flink SQL中使用周期性水印?

Posted by 1193216154 <11...@qq.com>.
hi Jark Wu.
我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。
我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。
有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"Jark Wu"<imjark@gmail.com&gt;;
发送时间:&nbsp;2020年7月7日(星期二) 晚上6:09
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印?



Hi,

这个问题我理解其实和周期性水印没有关系,是属于 idle source
的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]

Best,
Jark

[1]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout

On Tue, 7 Jul 2020 at 17:35, noake <noake@sina.cn&gt; wrote:

&gt; Dear All:
&gt;
&gt;
&gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
&gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。

Re: 如何在Flink SQL中使用周期性水印?

Posted by Jark Wu <im...@gmail.com>.
Hi,

这个问题我理解其实和周期性水印没有关系,是属于 idle source
的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1]

Best,
Jark

[1]:
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout

On Tue, 7 Jul 2020 at 17:35, noake <no...@sina.cn> wrote:

> Dear All:
>
>
> 大佬们, 请教下如何在Flink SQL中使用周期性的水印。
> 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。