作为flink doc中的示例:
input
.keyBy(<key selector>)
.window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
.<windowed transformation>(<window function>);
我想为每个键设置不同的偏移量,因为它有不同的时区。 我怎么能这样做?
答案 0 :(得分:0)
如果我理解正确,您似乎应该使用地图将所有时间戳转换为UTC。您需要在时间戳提取器/水印生成器之前执行此操作。
换句话说,移动时间戳,这样您就不需要按键改变偏移量。
答案 1 :(得分:0)
您可以实现一个自定义WindowAssigner
,在将记录分配给Windows时会考虑时区。如果你想走那条路,你可能想要分叉TumblingEventTimeWindows
分配器并用自定义逻辑扩展它以处理时区。
您还可以使用此方法为每个时区创建窗口。