WindowAssigner中windowStagger作用

2023-04-06 文章 yidan zhao
如题,目前看实现,这个 windowStagger 是针对 opeartor 的众多 subtask 之间,针对每个 subtask
生成了一个固定的 offset 作用于该 subtask 处理的元素。因为 staggerOffset 是在 assignWindows
中生成,而且只有第一次会生成,后续复用。如下:

if (staggerOffset == null) {
staggerOffset =
windowStagger.getStaggerOffset(context.getCurrentProcessingTime(),
size);
}
// Long.MIN_VALUE is currently assigned when no timestamp is present
long start =
TimeWindow.getWindowStartWithOffset(
timestamp, (globalOffset + staggerOffset) % size, size);
return Collections.singletonList(new TimeWindow(start, start + size));


所以,这个功能的目的是,分散不同 subtask
之间的窗口周期offset嘛?那如果实际生产中,是一个TM只有1个slot,整个作业只有1个window类算子的话。这个windowstagger好像没起到分散cpu压力的作用?还是说他的作用在于分散
window 算子整体输出时机而已,并不在乎单个 subtask 的输出时机对嘛?


Re: 退订

2023-04-06 文章 Shammon FY
Hi

退订请发送任意邮件到 user-zh-unsubscr...@flink.apache.org


[1] https://flink.apache.org/community/#mailing-lists


On Thu, Apr 6, 2023 at 2:00 PM Tony  wrote:

> 退订


退订

2023-04-06 文章 Tony
退订