如何在PySpark中展平嵌套列表?

时间:2016-01-10 21:45:52

标签: python apache-spark rdd

我有一个RDD结构,如:

rdd = [[[1],[2],[3]], [[4],[5]], [[6]], [[7],[8],[9],[10]]]

我希望它成为:

rdd = [1,2,3,4,5,6,7,8,9,10]

如何编写地图或缩小功能以使其有效?

1 个答案:

答案 0 :(得分:9)

您可以使用例如flatMap并使用列表推导:

rdd.flatMap(lambda xs: [x[0] for x in xs])

或者使它更具一般性:

from itertools import chain

rdd.flatMap(lambda xs: chain(*xs)).collect()