如何用pyspark.rdd组合成("word", (1, 2))这样的数据格式?

How to use pyspark.rdd to combine the data format like ("word", (1, 2))?

使用pyspark处理数据时,想计算一个词的两个属性。例如,数据如下所示:

("word1", (1, 2))
("word1", (2, 3))
("word2", (3, 4))
("word2", (5, 6))

我想将它们汇总为:

("word1", (3, 5))
("word2", (8, 10))

表示按单词组合元组值。我试过使用

rdd.reduceByKey(lambda: a, b:(a[0] + b[0], a[1], b[1]))

但是没用。 用pyspark.rdd处理这样的数据结构应该怎么做?谢谢!

快完成了

rdd.reduceByKey(lambda a, b: (a[0] + b[0], a[1] + b[1])).collect()

# [('word1', (3, 5)), ('word2', (8, 10))]