【发布时间】:2020-08-30 14:16:22
【问题描述】:
我正在阅读《使用 Apache Flink 进行流处理》一书,其中指出“从 0.10.0 版开始,Kafka 支持消息时间戳。从 Kafka 0.10 或更高版本读取时,如果应用程序在事件时间模式下运行,消费者将自动提取消息时间戳作为事件时间时间戳*”
那么在processElement 函数中,调用context.timestamp() 默认会返回kafka 消息时间戳?
您能否提供一个简单的示例,说明如何实现基于消费的 kafka 消息时间戳提取(并构建水印)的 AssignerWithPeriodicWatermarks/AssignerWithPunctuatedWatermarks。
如果我使用TimeCharacteristic.ProcessingTime,ctx.timestamp() 会返回处理时间吗?在这种情况下,它会类似于context.timerService().currentProcessingTime()。
谢谢。
【问题讨论】:
标签: apache-flink flink-streaming