刚开始使用PySpark
我有一个键/值对,如关注(key,(value1,value2))
我想为每个键找到 value2 的总和
输入数据的示例
(22, (33, 17.0)),(22, (34, 15.0)),(20, (3, 5.5)),(20, (11, 0.0))
谢谢!
答案 0 :(得分:2)
最后我创建了一个新的RDD包含键,只有value2,然后只是新RDD的和值
sumRdd = rdd.map(lambda (x, (a, b)): (x, b))\
.groupByKey().mapValues(sum).collect()
答案 1 :(得分:2)
如果您想从合成器中受益,这将是一个更好的选择。
from operator import add
sumRdd = rdd.map(lambda (x, (a, b)): (x, b)).reduceByKey(add)