非常感谢大家的回复。

我们的业务场景已经解决了。
目前的做法是在TableSource中配置水印策略, 在WatermarkGenerator中判断是否需要发射新的水印




原始邮件
发件人:Jark [email protected]
收件人:[email protected]
发送时间:2020年7月8日(周三) 13:26
主题:Re: 如何在Flink SQL中使用周期性水印?


嗯, 可以在 JIRA 中开个 issue 描述下你的需求~ On Wed, 8 Jul 2020 at 12:01, 1193216154 
[email protected] wrote:  nbsp; nbsp;Jark,flink有没有必要去支持这个特性?我感觉还是有一些应用场景      
------------------nbsp;原始邮件nbsp;------------------  发件人:nbsp;"Jark 
Wu"[email protected];;  发送时间:nbsp;2020年7月8日(星期三) 中午11:48  
收件人:nbsp;"user-zh"[email protected];;   主题:nbsp;Re: 如何在Flink 
SQL中使用周期性水印?     如果所有 partition 都没有数据,还希望 watermark 往前走,那 idle source 
确实解决不了这个问题。  目前确实没有太好的解决办法。   Best,  Jark   On Wed, 8 Jul 2020 at 11:08, 
1193216154 [email protected]; 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"[email protected];gt;;  gt; 
发送时间:amp;nbsp;2020年7月7日(星期二) 晚上6:09  gt; 
收件人:amp;nbsp;"user-zh"[email protected];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 [email protected];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。

回复