gpt4 book ai didi

apache-spark - 当Kafka客户端异步发送消息时,Spark流任务正常关闭

转载 作者:行者123 更新时间:2023-12-02 22:00:46 25 4
gpt4 key购买 nike

我正在构建一个 Spark 流应用程序,从kafka主题中读取输入消息,转换消息并将结果消息输出到另一个kafka主题中。现在我很困惑如何防止应用程序重新启动时丢失数据,包括kafka读取和输出。将Spark配置设置为“spark.streaming.stopGracefullyOnShutdow”可以帮助您吗?

最佳答案

您可以将Spark配置为对HDFS执行检查点,并将Kafka偏移量存储在Zookeeper(或Hbase)中,或者在其他位置进行配置以进行快速的容错查找。

但是,如果在能够提交偏移量之前处理一些记录并写入结果,那么最终将在重新启动时重新处理这些记录。据称,Spark可以对Kafka完全执行一次,但是据我所知,这只有通过适当的偏移量管理才能做到,例如,在Kafka优先级中将enable.auto.commit设置为false,然后仅在您执行之后提交。已处理将数据写入其目的地

如果您只是在Kafka主题之间移动数据,则Kafka Streams是其中包含的Kafka库,它不需要YARN或群集调度程序

关于apache-spark - 当Kafka客户端异步发送消息时,Spark流任务正常关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52056899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com