簡體   English   中英

新的flink Kafka consumer(KafkaSource)能否從舊的FlinkKafkaConsumer的Savepoint/checkpoint開始?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM