我正试着用pyspark来计算出现的次数。
假设我有这样的数据:
data = sc.parallelize([(1,[u'a',u'b',u'd']),
(2,[u'a',u'c',u'd']),
(3,[u'a']) ])
count = sc.parallelize([(u'a',0),(u'b',0),(u'c',0),(u'd',0)])
可以在data
中计算出现次数并在count
中更新吗?
结果应该是[(u'a',3),(u'b',1),(u'c',1),(u'd',2)]
。
Tags:
我将使用
Counter
:因为rdd是不可变的,所以不会更新。只需运行所需的计算,然后直接保存到所需的任何变量:
RDD是不可变的,因此无法更新。相反,根据数据计算计数如下:
然后,如果结果可以放入主内存,请随意使用count中的.collect()。
相关问题 更多 >
编程相关推荐