Re:回复: Re: 滑动窗口按照处理时间触发的问题

2024-01-02 文章 haishui
里按照key分组,我输入的key都是同一个值,应该在同一个分区。 >watermark.keyBy(item -> item.itemid) >我理解的就是处理环节其实就是单并行度的,没有问题。问题出在socket这种方式必须使用单并行度? >发件人: haishui >发送时间: 2024-01-03 13:35 >收件人: user-zh >主题: Re:回复: Re: 滑动窗口按照处理时间触发的问题 >Hi, > > >应该是并行度的原因,你可以先将并行度设置为1试试。 > > >

Re:回复: Re: 滑动窗口按照处理时间触发的问题

2024-01-02 文章 haishui
atUtils.format(startTs, "-MM-dd > HH:mm:ss.SSS"); >String windowEnd = DateFormatUtils.format(endTs, "yyyy-MM-dd > HH:mm:ss.SSS"); >StringBuilder sb = new StringBuilder(); >sb.append("窗口["+windowStart+","+windowEnd); >

Re:Re: 滑动窗口按照处理时间触发的问题

2024-01-02 文章 Xuyang
Hi, 基本思路和Jinsui说的差不多,我怀疑也是watermark没有推进导致窗口没有开窗。具体可以debug一下EventTimeTrigger里的‘onElement’方法和‘onEventTime’方法。 -- Best! Xuyang 在 2024-01-02 23:31:54,"Jinsui Chen" 写道: >Hi, > >请问是否可以将所有代码贴出来,尤其是水位线相关的。因为事件时间的推进和水位线策略紧密相关。 > >假设这样一种情况,将时间戳作为事件时间,假设你的水位线容错间隔设置为10min,就会出现上述情况,原因如下: >1.

Re: 滑动窗口按照处理时间触发的问题

2024-01-02 文章 Jinsui Chen
Hi, 请问是否可以将所有代码贴出来,尤其是水位线相关的。因为事件时间的推进和水位线策略紧密相关。 假设这样一种情况,将时间戳作为事件时间,假设你的水位线容错间隔设置为10min,就会出现上述情况,原因如下: 1. 首先是时间窗口的对齐逻辑。窗口是根据 Epoch 时间(1970-01-01 00:00:00 UTC)来对齐的。例如,如果窗口大小为5分钟,那么窗口的开始时间会是00:00、00:05、00:10等等很整的值,而不是事件时间。这也是为什么你的第一条数据会落在 00:20 - 01:20 这个时间窗口上。 2.