PySpark flatMap将列表中的列表展平

时间:2016-04-14 21:22:55

标签: apache-spark pyspark flatmap

有没有办法使用flatMap来平整rdd中的列表,如下所示:

rdd = sc.parallelize([[1,2,3],[6,7,8]])

rdd.flatMap(lambda r: [[r[0],r[1],r[2],[r[2]+1,r[2]+2]]]).collect()

我想要的输出:

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

实际输出:

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

我理解flatMap适当地展平了数组,我并不对上面的实际输出感到困惑,但我想知道是否有办法有效地压扁内部列表。

1 个答案:

答案 0 :(得分:2)

请修改您的代码,如下所示,以获得所需的输出

rdd.flatMap(lambda r: [[r[0],r[1],r[2],r[2]+1,r[2]+2]]).collect()