查找 key/value 对中第二个值的总和
Find sum of second values in key/value pair
刚开始使用 PySpark
我有一对 key/value 如下 (key,(value1,value2))
我想为每个键value2求和
输入数据示例
(22, (33, 17.0)),(22, (34, 15.0)),(20, (3, 5.5)),(20, (11, 0.0))
谢谢!
最后我创建了一个新的 RDD 只包含 key,value2,然后只对新的 RDD 的值求和
sumRdd = rdd.map(lambda (x, (a, b)): (x, b))\
.groupByKey().mapValues(sum).collect()
如果您想从组合器中受益,这将是更好的选择。
from operator import add
sumRdd = rdd.map(lambda (x, (a, b)): (x, b)).reduceByKey(add)
刚开始使用 PySpark
我有一对 key/value 如下 (key,(value1,value2))
我想为每个键value2求和
输入数据示例
(22, (33, 17.0)),(22, (34, 15.0)),(20, (3, 5.5)),(20, (11, 0.0))
谢谢!
最后我创建了一个新的 RDD 只包含 key,value2,然后只对新的 RDD 的值求和
sumRdd = rdd.map(lambda (x, (a, b)): (x, b))\
.groupByKey().mapValues(sum).collect()
如果您想从组合器中受益,这将是更好的选择。
from operator import add
sumRdd = rdd.map(lambda (x, (a, b)): (x, b)).reduceByKey(add)