Нужно ли мне устанавливать assignTimestampsAndWatermarks, если я установил свои временные характеристики c в IngestionTime в Flink 1.10? - PullRequest
2 голосов
/ 10 марта 2020

Нужно ли мне устанавливать assignTimestampsAndWatermarks, если я устанавливаю свои характеристики времени c в IngestionTime?

говорит, что я устанавливаю мои характеристики времени c среды исполнения потока равными времени Ingestion следующим образом

streamExecutionEnvironment.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime);

мне нужно позвонить datastream.assignTimestampsAndWatermarks(AscendingTimestampExtractor)?

Я думал, datastream.assignTimestampsAndWatermarks обязательно, только если характеристика времени c является временем события. Нет? Если нет, мне интересно, как я могу установить AscendingTimestampExtractor в распределенной среде? Есть ли способ добавить монотонно увеличивающийся длинный (AscendingTimestampExtractor) без каких-либо распределенных блокировок?

1 Ответ

3 голосов
/ 10 марта 2020

Нет, нет необходимости звонить assignTimestampsAndWatermarks при использовании времени приема. Со временем приема Flink автоматически назначает временные метки и водяные знаки.

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

...