有没有办法使用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
适当地展平了数组,我并不对上面的实际输出感到困惑,但我想知道是否有办法有效地压扁内部列表。
答案 0 :(得分:2)
请修改您的代码,如下所示,以获得所需的输出
rdd.flatMap(lambda r: [[r[0],r[1],r[2],r[2]+1,r[2]+2]]).collect()