Могу ли я установить различное смещение часового пояса для каждой клавиши при использовании переворота Windows в Flink? - PullRequest
0 голосов
/ 23 мая 2018

как пример в flink doc:

input
.keyBy(<key selector>)
.window(TumblingEventTimeWindows.of(Time.days(1), Time.hours(-8)))
.<windowed transformation>(<window function>);

Я хочу установить различное смещение для каждой клавиши, потому что она имеет разный часовой пояс.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы можете реализовать пользовательский WindowAssigner, который учитывает часовой пояс при назначении записей окнам.Если вы хотите пойти по этому маршруту, вам может потребоваться форкнуть TumblingEventTimeWindows присваиватель и расширить его с помощью собственной логики для обработки часовых поясов.

Вы также можете создавать окна для часового пояса с помощью этого подхода.

0 голосов
/ 23 мая 2018

Если я правильно понял, похоже, вам следует использовать карту для преобразования всех временных отметок в UTC.Вы захотите сделать это до извлечения меток времени / генератора водяных знаков.

Другими словами, сдвигайте метки времени вокруг, чтобы вам не нужно было изменять смещение по клавише.

...