2016-04-14 12 views
0

ので、同じようRDDにリストを平らにするflatMapを使用する方法があります:PySpark flatMapが一覧でリストを平らにする

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]] 

実際の出力:私はflatMap理解

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

は適切に配列を平坦化する、と私はAのように混乱していないです上の出力を参照してください。内側のリストを効果的に平坦化する方法があるかどうかを知りたいと思います。

答えて

2

ポイントは、私はそのように修正することができないことである所望の出力

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

を取得するには、以下のようにコードを変更してください。私は上記のような構造を持っています。リストの理解を呼びかけることなくそれを平坦化したいと思います。 –

+0

答えがあなたの期待したものでない場合は、質問を編集して改善してください。 – Mohan

+0

質問にあるようにリストを平らにしたいと思います。 '[1,2,3、[4,5]]のようなリストがあれば、それをpysparkで利用可能なツールで' [1,2,3,4,5] 'にフラット化したいと思います。 –

関連する問題