4
次のDataFrameはSpark 2.2.0とScala 2.11.8にあります。各行の列から特定の要素を抽出するにはどうすればよいですか?
+----------+-------------------------------+
|item | other_items |
+----------+-------------------------------+
| 111 |[[444,1.0],[333,0.5],[666,0.4]]|
| 222 |[[444,1.0],[333,0.5]] |
| 333 |[] |
| 444 |[[111,2.0],[555,0.5],[777,0.2]]|
私は、次のデータフレームを取得したい:だから
+----------+-------------+
|item | other_items |
+----------+-------------+
| 111 | 444 |
| 222 | 444 |
| 444 | 111 |
を、基本的に、私は行ごとにother_items
から最初item
を抽出する必要があります。また、配列[]
が空の行を無視して、other_products
にする必要があります。
どうすればいいですか?
私はこのアプローチを試みましたが、期待した結果が得られませんでした。このよう
|-- item: string (nullable = true)
|-- other_items: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- _1: string (nullable = true)
| | |-- _2: double (nullable = true)