-1
只有在explode()函數之後纔有可能取得第一個元素?例如,在上述情況下,我們只想保留[Max,Black],[Spot,white]和[Michael,Yellow]。每個單元中的第二個元素(3,2和1)實際上可以被丟棄。爆炸後只取第一個(或第n個)元素
謝謝!
只有在explode()函數之後纔有可能取得第一個元素?例如,在上述情況下,我們只想保留[Max,Black],[Spot,white]和[Michael,Yellow]。每個單元中的第二個元素(3,2和1)實際上可以被丟棄。爆炸後只取第一個(或第n個)元素
謝謝!
假設你的架構看起來是這樣的:
root
|-- dog: struct (nullable = false)
| |-- col1: struct (nullable = false)
| | |-- col1: string (nullable = false)
| | |-- col2: string (nullable = false)
| |-- col2: integer (nullable = false)
然後,你可以做到以下幾點:
test.withColumn("dog", $"dog".getField("col1"))
或者,如果你想保留兩列,這樣做:
test.select($"dog", $"dog".getField("col1") as "dog2")
我可以使用'UDF'還是有限制? –