0
我嘗試分解spark中複雜數據框的結構。我只對根目錄下的嵌套數組感興趣。問題是我無法從StructField的類型中檢索ElementType。如何提取ArrayType的ElementType作爲StructType的實例
下面是一個例子,此架構一個StructType對象:
df.printSchema
result>>
root
|-- ID: string (nullable = true)
|-- creationDate: string (nullable = true)
|-- personsList: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- firstName: string (nullable = true)
| | |-- lastName: string (nullable = true)
每StructType是
FieldType (name, type, nullable , metadata).
陣列我試圖代碼如下:
val personsList = df.schema("personsList") // personsList is a StructField
println(passengersList.dataType)
我想要檢索ElementType來獲得嵌套數組的StructType,但不幸的是我們只有typeName或json方法。
最好的問候,
謝謝你,我有一個問題:我只在架構感興趣,我想知道「中選擇」聲明還檢索記錄也就算我們不顯示或使用他們。 (我應該有數百萬條記錄,我不會使用它們),你覺得呢? –
是,'select'語句將產生選中的列新的數據幀。但是,如果您不使用選定的數據框,則應該在超出範圍時收集垃圾。所以你不必擔心有數百萬條記錄。 –
謝謝你的時間 –