Я занимаюсь Apache Spark, но столкнулся со следующей проблемой.Аккумулятор Искры меня смущает.
val accum = sc.accumulator(0, "My Accumulator.")
println (accum) // print out: 0
sc.parallelize(Array(1, 2, 3, 4, 5)).foreach(x => accum += x)
// sc.parallelize(Array(1, 2, 3, 4, 5)).foreach(x => accum = accum + x)
println(accum.value) // print out: 15
Эта строка кода sc.parallelize(Array(1, 2, 3, 4, 5)).foreach(x => accum += x)
работает достаточно хорошо, но код закомментирована ниже него не работает. Разница заключается в том:
x => accum += x
и
x => accum = accum + x
Почему второй один не работает?
Спасибо за слайды, они великолепны. –