首页 > 解决方案 > 在类型为 (List,Integer) 的元组的 RDD 中展平列表

问题描述

我在 PySpark 中有一个格式为 (List,Integer) 的元组 RDD。

例子:

(["Hello","How","are","you"],12)

我想将其转换为类型的 RDD

("Hello",12),
("How",12),
("are",12),
("you",12)

标签: pythonapache-sparkpysparkrdd

解决方案


您可以使用flatMap

rdd.collect()
# [(['Hello', 'How', 'are', 'you'], 12)]

rdd2 = rdd.flatMap(lambda r: [(i, r[1]) for i in r[0]])

rdd2.collect()
# [('Hello', 12), ('How', 12), ('are', 12), ('you', 12)]

推荐阅读