Apache flink 在flink中使用翻滚窗口时,是否可以为每个键设置不同的时区偏移?

Apache flink 在flink中使用翻滚窗口时,是否可以为每个键设置不同的时区偏移?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,如flink doc中的示例: input .keyBy(<key selector>) .window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8))) .<windowed transformation>(<window function>); 输入 .keyBy() .window(TumblingEventTimeWindows.of(Time.days(1),Time.hours(

如flink doc中的示例:

input
.keyBy(<key selector>)
.window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
.<windowed transformation>(<window function>);
输入
.keyBy()
.window(TumblingEventTimeWindows.of(Time.days(1),Time.hours(-8)))
.();
我想为每个关键点设置不同的偏移量,因为它有不同的时区。
我该怎么做呢?

如果我理解正确,您应该使用一个映射将所有时间戳转换为UTC。您需要在时间戳提取器/水印生成器之前执行此操作


换句话说,移动时间戳,这样就不需要按键改变偏移量。

您可以实现一个自定义
窗口赋值器,在将记录分配给窗口时,该赋值器将时区考虑在内。如果您想走这条路,您可能需要分叉
TumblingEventTimeWindows
赋值器,并使用自定义逻辑扩展它以处理时区

您还可以使用此方法按时区创建窗口