當我試圖得到一些價值在DataFrame
,如:如何使用正確的DataType獲取DataFrame中的值?
df.select("date").head().get(0) // type: Any
結果類型爲Any
,這是不預期。 由於dataframe
包含數據的schema
,它應該知道每個column
的DataType
,所以當我嘗試使用get(0)
獲得值時,它應該返回具有正確類型的值。但是,它沒有。
取而代之,我需要使用getDate(0)
指定哪個DataType
,這似乎很奇怪,不方便,並且讓我發瘋。
當我指定的schema
用正確的DataTypes
每個column
當我創建的Dataframe
,我不希望使用不同的getXXX()' for different
column`s。
有沒有一些方便的方法可以用他們自己的正確類型獲取值?也就是說,如何獲得schema
中指定的正確DataType
的值?
謝謝!
是的,我知道。問題是,如果我有很多列,我不想調用不同的函數來獲取不同列的值。到目前爲止,據我所知,一種解決方案是使用'case class'將數據框轉換爲數據集。但另一個問題是,由於我的輸入數據集不同,我不能爲每個數據集硬編碼一個「case class」。所以我現在很困惑。 – PC9527
使用數據集不是一個壞主意..除了數據集和數據框選項,我們可以做的不多。 –
'case class'是將DataFrame轉換爲DataSet的唯一方式嗎?如果我有一個列類型的數組,我怎樣才能使用數組進行轉換? – PC9527