PySpark reduceByKey 对多个值
Posted
技术标签:
【中文标题】PySpark reduceByKey 对多个值【英文标题】:PySpark reduceByKey on multiple values 【发布时间】:2015-06-14 16:02:49 【问题描述】:如果我有这样的 K,V 对:
(K, (v1, v2))
(K, (v3, v4))
我怎样才能总结出我得到的值
(k, (v1 + v3, v2 + v4))
?
【问题讨论】:
【参考方案1】:reduceByKey 支持函数。假设 A 是键值对的数组。
output = A.reduceByKey(lambda x, y: x[0]+y[0], x[1]+y[1])
【讨论】:
或许应该是output = A.reduceByKey(lambda x, y: (x[0]+y[0], x[1]+y[1]))
以上是关于PySpark reduceByKey 对多个值的主要内容,如果未能解决你的问题,请参考以下文章
IndexError:在pyspark shell上使用reduceByKey操作时列出索引超出范围
Pyspark - 在作为列表的 spark 数据框列上使用 reducebykey