我正在努力解决有关flink的卡夫卡消费者连接器事件时间的问题。 引用Flink doc
自Apache Kafka 0.10 +以来,Kafka的消息可以携带时间戳,指示事件发生的时间(请参阅Apache Flink中的“事件时间”)或消息写入Kafka代理的时间。
如果Flink中的时间特性设置为TimeCharacteristic.EventTime(StreamExecutionEnvironment.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)),FlinkKafkaConsumer010将发出附加时间戳的记录。
Kafka消费者不会发出水印。
我想到了一些问题和问题:
主流程图不包含窗口函数,基本上如下所示:source(kafka) - > filter-> processFunction-> Sink。这是否意味着事件在Kafka连接器消耗时被触发?
我目前使用Kafka连接器0.10.0,TimeCharacteristic.EventTime设置并使用一个processFunction,每隔一段时间X min会进行一次状态清理。 但是我收到一个奇怪的情况,其中OnTimerContext包含从0开始的时间戳,并且在我启动flink程序时增长到当前时间戳并且很奇怪,这是一个错误吗?
提前感谢所有帮助者!
答案 0 :(得分:2)