我有一个包含以下行的RDD:
[(id,value)]
您如何对RDD中所有行的值求和?
答案 0 :(得分:1)
只需使用sum
,您只需将数据放入列表即可。
例如
sc.parallelize([('id', [1, 2, 3]), ('id2', [3, 4, 5])]) \
.flatMap(lambda tup: tup[1]) \ # [1, 2, 3, 3, 4, 5]
.sum()
输出18
同样,只需使用values()
将第二列作为其自己的RDD。
sc.parallelize([('id', 6), ('id2', 12)]) \
.values() \ # [6, 12]
.sum()