小编Far*_*ian的帖子

更新RDD元素的内部状态

我是Spark的新手,我想使用方法更新RDD元素的内部状态rdd.foreach,但是它不起作用。这是我的代码示例:

class Test extends Serializable{
  var foo = 0.0
  var bar = 0.0

  def updateFooBar() = {
    foo = Math.random()
    bar = Math.random()
  }
}

var testList = Array.fill(5)(new Test())
var testRDD = sc.parallelize(testList)
testRDD.foreach{ x => x.updateFooBar() }
testRDD.collect().foreach { x=> println(x.foo+"~"+x.bar) }
Run Code Online (Sandbox Code Playgroud)

结果是:

0.0~0.0
0.0~0.0
0.0~0.0
0.0~0.0
0.0~0.0
Run Code Online (Sandbox Code Playgroud)

apache-spark rdd

0
推荐指数
1
解决办法
153
查看次数

标签 统计

apache-spark ×1

rdd ×1