蟒蛇:通过if条件语句减少键?

时间:2019-01-16 22:48:23

标签: pyspark rdd reduce

(K1, (v1, v2))
(K2, (v3, v4))
(K1, (v1, v5))
(K2, (v3, v6))

如果第一个值是some或eque使得我得到(k1,(v1,v2 + v5),(k2,(v3,v4 + v6)? >

1 个答案:

答案 0 :(得分:1)

IIUC,您需要在reduce之前更改密钥,然后将值映射回所需的格式。

您应该能够执行以下操作:

new_rdd = rdd.map(lambda row: ((row[0], row[1][0]), row[1][1]))\
    .reduceByKey(sum).
    .map(lambda row: (row[0][0], (row[0][1], row[1])))