Dear All:
大佬们, 请教下如何在Flink SQL中使用周期性的水印。 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
Administrator
|
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 <[hidden email]> wrote: > Dear All: > > > 大佬们, 请教下如何在Flink SQL中使用周期性的水印。 > 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
hi Jark Wu.
我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。 ------------------ 原始邮件 ------------------ 发件人: "Jark Wu"<[hidden email]>; 发送时间: 2020年7月7日(星期二) 晚上6:09 收件人: "user-zh"<[hidden email]>; 主题: 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 <[hidden email]> wrote: > Dear All: > > > 大佬们, 请教下如何在Flink SQL中使用周期性的水印。 > 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
Administrator
|
如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。
目前确实没有太好的解决办法。 Best, Jark On Wed, 8 Jul 2020 at 11:08, 1193216154 <[hidden email]> wrote: > hi Jark Wu. > > 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。 > 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。 > 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。 > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Jark Wu"<[hidden email]>; > 发送时间: 2020年7月7日(星期二) 晚上6:09 > 收件人: "user-zh"<[hidden email]>; > > 主题: 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 <[hidden email]> wrote: > > > Dear All: > > > > > > 大佬们, 请教下如何在Flink SQL中使用周期性的水印。 > > 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景
------------------ 原始邮件 ------------------ 发件人: "Jark Wu"<[hidden email]>; 发送时间: 2020年7月8日(星期三) 中午11:48 收件人: "user-zh"<[hidden email]>; 主题: Re: 如何在Flink SQL中使用周期性水印? 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。 目前确实没有太好的解决办法。 Best, Jark On Wed, 8 Jul 2020 at 11:08, 1193216154 <[hidden email]> wrote: > hi Jark Wu. > > 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。 > 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。 > 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。 > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人:&nbsp;"Jark Wu"<[hidden email]&gt;; > 发送时间:&nbsp;2020年7月7日(星期二) 晚上6:09 > 收件人:&nbsp;"user-zh"<[hidden email]&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 <[hidden email]&gt; wrote: > > &gt; Dear All: > &gt; > &gt; > &gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。 > &gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
Administrator
|
嗯, 可以在 JIRA 中开个 issue 描述下你的需求~
On Wed, 8 Jul 2020 at 12:01, 1193216154 <[hidden email]> wrote: > Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景 > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Jark Wu"<[hidden email]>; > 发送时间: 2020年7月8日(星期三) 中午11:48 > 收件人: "user-zh"<[hidden email]>; > > 主题: Re: 如何在Flink SQL中使用周期性水印? > > > > 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。 > 目前确实没有太好的解决办法。 > > Best, > Jark > > On Wed, 8 Jul 2020 at 11:08, 1193216154 <[hidden email]> wrote: > > > hi Jark Wu. > > > > > 我的理解是table.exec.source.idle-timeout只能解决watermark对齐的时候去忽略某个没有watermark的并行度。但是在每个并行度都没有watermark的时候,还是无法更新watermark。 > > > 我觉得题主的意思应该是,在kafka的所有分区都没有数据的时候,最后一个窗口无法触发(因为没有watermark大于最后那个窗口结束时间了)。 > > 有没有可以设置在eventTime情况下,周期性生成当前时间的一个waterMark(和数据无关),因为可能没有新数据到来了。 > > > > > > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > > 发件人:&nbsp;"Jark Wu"<[hidden email]&gt;; > > 发送时间:&nbsp;2020年7月7日(星期二) 晚上6:09 > > 收件人:&nbsp;"user-zh"<[hidden email]&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 > > > <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 <[hidden email]&gt; wrote: > > > > &gt; Dear All: > > &gt; > > &gt; > > &gt; 大佬们, 请教下如何在Flink SQL中使用周期性的水印。 > > &gt; 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。 |
欢迎加入讨论 https://issues.apache.org/jira/browse/FLINK-18523
------------------ 原始邮件 ------------------ 发件人: "Jark Wu"<[hidden email]>; 发送时间: 2020年7月8日(星期三) 中午1:26 收件人: "user-zh"<[hidden email]>; 主题: Re: 如何在Flink SQL中使用周期性水印? 嗯, 可以在 JIRA 中开个 issue 描述下你的需求~ On Wed, 8 Jul 2020 at 12:01, 1193216154 <[hidden email]> wrote: > &nbsp; &nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景 > > > > > ------------------&nbsp;原始邮件&nbsp;------------------ > 发件人:&nbsp;"Jark Wu"<[hidden email]&gt;; > 发送时间:&nbsp;2020年7月8日(星期三) 中午11:48 > 收件人:&nbsp;"user-zh"<[hidden email]&gt;; > > 主题:&nbsp;Re: 如何在Flink SQL中使用周期性水印? > > > > 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。 > 目前确实没有太好的解决办法。 > > Best, > Jark > > On Wed, 8 Jul 2020 at 11:08, 1193216154 <[hidden email]&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"<[hidden email]&amp;gt;; > &gt; 发送时间:&amp;nbsp;2020年7月7日(星期二) 晚上6:09 > &gt; 收件人:&amp;nbsp;"user-zh"<[hidden email]&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 <[hidden email]&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。 |
In reply to this post by Jark
非常感谢大家的回复。
我们的业务场景已经解决了。 目前的做法是在TableSource中配置水印策略, 在WatermarkGenerator中判断是否需要发射新的水印 原始邮件 发件人:Jark [hidden email] 收件人:[hidden email] 发送时间:2020年7月8日(周三) 13:26 主题:Re: 如何在Flink SQL中使用周期性水印? 嗯, 可以在 JIRA 中开个 issue 描述下你的需求~ On Wed, 8 Jul 2020 at 12:01, 1193216154 [hidden email] wrote: nbsp; nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景 ------------------nbsp;原始邮件nbsp;------------------ 发件人:nbsp;"Jark Wu"[hidden email];; 发送时间:nbsp;2020年7月8日(星期三) 中午11:48 收件人:nbsp;"user-zh"[hidden email];; 主题:nbsp;Re: 如何在Flink SQL中使用周期性水印? 如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 确实解决不了这个问题。 目前确实没有太好的解决办法。 Best, Jark On Wed, 8 Jul 2020 at 11:08, 1193216154 [hidden email]; 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"[hidden email];gt;; gt; 发送时间:amp;nbsp;2020年7月7日(星期二) 晚上6:09 gt; 收件人:amp;nbsp;"user-zh"[hidden email];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-timeoutgt ; gt; On Tue, 7 Jul 2020 at 17:35, noake [hidden email];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。 |
Free forum by Nabble | Edit this page |