
[英]Migrating from FlinkKafkaConsumer to KafkaSource, no windows executed
[英]Can new flink Kafka consumer (KafkaSource) start from the old FlinkKafkaConsumer's Savepoint/checkpoint?
我有一份工作正在与旧的 flink Kafka 消费者 ( FlinkKafkaConsumer
) 一起运行,现在我想将它迁移到KafkaSource
。 但我不确定这次迁移会产生什么影响。 我希望我的工作从旧的 FlinkKafkaConsumer 最新成功的检查点开始,这可能吗? 如果不可能,那么我迁移 Kafka 消费者的正确方法应该是什么?
假设相同的配置,只要您之前的消费者组 ID 配置与您之前的实现所使用的配置相匹配,两者就可以互换使用。 您可以将它与OffsetsInitializer.latest()
结合使用,以确保您继续从之前提交的相同偏移量读取数据:
KafkaSource.<YourExampleClass>builder()
...
.setGroupId("your-previous-group-id")
.setStartingOffsets(OffsetsInitializer.latest())
虽然两者应该可以正常工作,但值得注意的是您的特定管道及其使用并行性的方式可能会揭示FlinkKafkaConsumer
和较新的KafkaSource
之间的一些差异:
在 Kafka 分区数小于 Flink 的 Kafka Source 运算符的并行度的情况下,KafkaSource 的行为与 FlinkKafkaConsumer 不同。
当 FlinkKafkaConsumer 被弃用时,如何从 FlinkKafkaConsumer 升级到 KafkaSource 已包含在 Flink 1.14 的发行说明中。 你可以在https://nightlies.apache.org/flink/flink-docs-release-1.14/release-notes/flink-1.14/#deprecate-flinkkafkaconsumer找到它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.