是否会出现Spark RDD无法满足不变性的任何情况.

Sri*_*ini 6 apache-spark spark-streaming rdd

Spark RDD以不可变,容错和弹性方式构建.

RDD是否满足所有情况下的不变性?或者是否有任何情况,无论是在Streaming还是Core中,RDD可能无法满足不变性?

Jus*_*ony 0

举个例子:

sc.makeRDD(1 to 100000).map(x=>{
  println(x)
  x + 1
}.collect
Run Code Online (Sandbox Code Playgroud)

如果节点在map完成后发生故障,但完整结果尚未发送回驱动程序,则将map在另一台机器上重新计算。最终结果将始终相同,因为任何双重计算的值只会被发送回一次。然而,println对于某些电话,该意愿发生了两次。因此,是的,DAG 本身的不变性是得到保证的,但您仍然必须假设代码将运行多次。