如何展平 PySpark 中的嵌套列表?
How to flatten nested lists in PySpark?
我的 RDD 结构如下:
rdd = [[[1],[2],[3]], [[4],[5]], [[6]], [[7],[8],[9],[10]]]
我希望它变成:
rdd = [1,2,3,4,5,6,7,8,9,10]
如何编写 map 或 reduce 函数使其工作?
例如,您可以 flatMap
并使用列表理解:
rdd.flatMap(lambda xs: [x[0] for x in xs])
或者让它更通用一点:
from itertools import chain
rdd.flatMap(lambda xs: chain(*xs)).collect()
我的 RDD 结构如下:
rdd = [[[1],[2],[3]], [[4],[5]], [[6]], [[7],[8],[9],[10]]]
我希望它变成:
rdd = [1,2,3,4,5,6,7,8,9,10]
如何编写 map 或 reduce 函数使其工作?
例如,您可以 flatMap
并使用列表理解:
rdd.flatMap(lambda xs: [x[0] for x in xs])
或者让它更通用一点:
from itertools import chain
rdd.flatMap(lambda xs: chain(*xs)).collect()