例子
考虑以下原生的RDD元素求和,这可能会引起不同的行为,它依赖于执行是否发生在同一个JVM。一个常见的例子就是,当你以本地模式(--master local[n])运行Spark的时候与在集群(例如通过spark-submit提交到YARN)中部署一个Spark应用:
var counter = 0
var rdd = sc.parallelize(data)
// Wrong: Don't do this!!
rdd.foreach(x => counter += x)
println("Counter value: " + counter)