Apache spark 为什么累加器转换只能用于调试?

Apache spark 为什么累加器转换只能用于调试?,apache-spark,rdd,Apache Spark,Rdd,我读到当累加器用于转换时,不能保证任务的更新只应用一次。 因此,累加器上的转换只能用于调试目的 所以我不明白两件事: 1.如果Spark记得RDD上的转换沿袭,并且RDD是不可变的,那么多个更新有什么问题? 多个更新不会产生相同的结果吗 2.如果在生产中使用累加器上的转换不安全,为什么要使用它们进行调试? 如果在不同的执行中结果可能不同,那么它们如何对调试有用?可能重复的

我读到当累加器用于转换时,不能保证任务的更新只应用一次。 因此,累加器上的转换只能用于调试目的

所以我不明白两件事:

1.如果Spark记得RDD上的转换沿袭,并且RDD是不可变的,那么多个更新有什么问题? 多个更新不会产生相同的结果吗

2.如果在生产中使用累加器上的转换不安全,为什么要使用它们进行调试? 如果在不同的执行中结果可能不同,那么它们如何对调试有用?

可能重复的