我是Scala和Spark的新手,试图在Spark中创建一个成对的RDD,为每行分配一个Int作为键并求和+1。
val mapUrls = urls.map{
var cont = 0
x =>
cont += 1
(cont,x)
}
问题是,以某种方式,cont变量在一定时间后会返回1。
我究竟做错了什么?
这就是你想要的吗?
urls.zipWithIndex.map(_.swap)
您的代码无法正常工作。请记住,Spark是分布式框架,没有共享内存。每个任务都有自己的更新cont
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句