2017-09-27 8 views
-1

私のデータフレームは以下の通りです。入力配列型の列から値を抽出する必要があります。私はpysparkでこれをどのように達成できるのか教えてください。pyspark - データ型から配列型の値を取得

None 
root 
|-- input: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- A: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- B: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- C: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- D: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- E: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 
|-- timestamp: array (nullable = true) 
| |-- element: map (containsNull = true) 
| | |-- key: string 
| | |-- value: map (valueContainsNull = true) 
| | | |-- key: string 
| | | |-- value: double (valueContainsNull = true) 

答えて

-1

from itertools import chain 
df.select('input').rdd.flatMap(lambda x: chain(*(x))).map(lambda x: x.values()).collect() 
+0

気をつけて説明してください。 – Prem

関連する問題