(K1, (v1, v2)) (K2, (v3, v4)) (K1, (v1, v5)) (K2, (v3, v6))
Как можно суммировать значения ключа, если первое значение равно некоторому или равно такому, что я получаю (k1, (v1, v2 + v5), (k2, (v3, v4 + v6)?
IIUC, вам нужно изменить ключ до reduce, а затем отобразить ваши значения обратно в желаемом формате.
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])))