【问题标题】:Does RDD re computation on task failure cause duplicate data processing?任务失败的RDD重新计算会导致重复数据处理吗?
【发布时间】:2021-06-12 18:24:23
【问题描述】:

当特定任务失败导致 RDD 从 lineage 重新计算(可能通过再次读取输入文件)时,Spark 如何确保没有重复处理数据?如果失败的任务已将一半数据写入 HDFS 或 Kafka 等输出怎么办?它会再次重写那部分数据吗? 这与只处理一次有关吗?

【问题讨论】:

    标签: apache-spark rdd exactly-once


    【解决方案1】:

    默认情况下,输出操作具有至少一次语义。如果 worker 失败,foreachRDD 函数将执行多次,从而将相同的数据多次写入外部存储。有两种方法可以解决这个问题,幂等更新和事务更新。以下部分将进一步讨论它们

    进一步阅读

    http://shzhangji.com/blog/2017/07/31/how-to-achieve-exactly-once-semantics-in-spark-streaming/

    【讨论】:

      猜你喜欢
      • 2016-06-22
      • 1970-01-01
      • 2018-11-04
      • 2021-04-13
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      相关资源
      最近更新 更多