2017-11-08 17 views
0

私は次のような構造を持つRDD持っている:[INT、[リスト]]Pyspark非公開にRDD

In [109]: rdd_dummies2.take(2) 
[[0, [False, False, False, False, False, False, False, False, False, False]], 
[1, [False, False, False, False, False, False, False, False, False, False]]] 

を私はint型と同じリスト内のリストに別のRDDを持っていると思います。 私は、このような何か意味:私はこれを試してみました

[[0,False, False, False, False, False, False, False, False, False, False], 
[1,False, False, False, False, False, False, False, False, False, False]] 

を:

In [110]: rdd_dummies2 = rdd_dummies.flatMap(lambda x: x) 
In [112]: rdd_dummies2.take(2) 
Out[112]: [0, [False, False, False, False, False, False, False, False, False, False]] 

が、それは私が欲しいものを返しません。

誰かが.map()または.flatMap()を正しく使用する方法を知っていますか?

ありがとうございました!

答えて

0

あなたは、単にrddの上にマッピングすると、リストの最初の要素を付加する必要があります。

rdd = sc.parallelize([[0, [False, False, False, False, False, False, False, False, False, False]], [1, [False, False, False, False, False, False, False, False, False, False]]]) 

rdd.map(lambda x: [x[0]] + x[1]).collect() 
# [[0, False, False, False, False, False, False, False, False, False, False], 
# [1, False, False, False, False, False, False, False, False, False, False]] 
+1

私はちょうど私のprogamでそれを使ってきたし、それが動作します。ありがとうございました :) –

関連する問題