我正在调查使用Kafka Streams进行数据重新处理。有一个很好的工具可用于数据重新处理,重置流应用程序:Application Reset tool 但是这个工具通常会将应用程序状态重置为零,并从头开始重新处理所有内容。
有些情况下我们想要从特定点重新处理数据,即:
同样在Flink中,我们有Savepoints个概念,可以恢复以前的运算符状态并添加新运算符而不会出现任何错误。
我还提到了以下文件:
https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+Data+%28Re%29Processing+Scenarios
https://www.confluent.io/blog/data-reprocessing-with-kafka-streams-resetting-a-streams-application/
想知道:
答案 0 :(得分:0)
此时Kafka Streams没有保存点概念(版本1.0)。
bin/kafka-consumer-groups.sh
为您的应用程序提交起始偏移量(注意,application.id
== group.id
)。对于较旧的Kafka版本,您可以构建一个自定义工具来提交启动偏移application.id
(这是一个已知问题,将在以后的版本中修复)。