2017-01-10 37 views
0

我正在将来自Kafka流光标的消息带入Flink。该消息包含Record_time字段,我想根据Record_time应用时间窗口。Flink:使用消息中包含的EventTime窗口的时间戳

我可以提取或使用Record_time字段为该邮件分配时间戳吗?由于接口TimestampExtractor的所有方法都被弃用,有没有其他的方法可以做到这一点?

回答

0

TimestampExtractor已弃用,由AssignerWithPeriodicWatermarksAssignerWithPunctuatedWatermarks替代。

AssignerWithPeriodicWatermarks为每条记录提取时间戳,并定期查询当前水印。

'AssignerWithPunctuatedWatermarks`也提取每个记录的时间戳。另外还要求每个记录提取一个水印。如果水印以特殊记录编码,这将很有帮助。

+0

目前我正在使用'FlinkKafkaConsumer09',这个'AssignerWithPunctuatedWatermarks'的时间戳提取功能也可以使用if或者只有'FlinkKafkaConsumer010'可用。我正在使用kafka 0.9 jar。 – kadsank

+0

**对不起,有一个错字(...有它,或者它只有可用....) – kadsank

+0

所有Flink卡夫卡消费者支持这两种类型的分配者。也许你有一个旧版本的连接器?您应该确保所有Flink依赖项具有相同的版本。 –