資料型別
做得不錯!在開始建模之前,你需要知道 Spark 只能處理數值資料。也就是說,DataFrame 中所有欄位都必須是整數或小數(在 Spark 中稱為「double」)。
在匯入資料時,我們讓 Spark 自行推測每個欄位的資訊型別。可惜 Spark 並不一定猜得準,你會看到 DataFrame 中有些欄位是包含數字的字串,而不是實際的數值。
為了解決這個問題,你可以把 .cast() 方法和 .withColumn() 方法搭配使用。
要注意的是,.cast() 是作用在欄位上,而 .withColumn() 是作用在 DataFrame 上。
你只需要在 .cast() 中傳入一個字串參數,表示你想要轉成的型別。例如,要建立整數,就傳入引數 "integer";要建立小數,就使用 "double"。
你可以把對 .cast() 的呼叫放進 .withColumn() 裡,覆寫既有的欄位,就跟你在前一章做的一樣!
Spark 在建模時需要哪一種資料?
本練習屬於課程
