一些如何在Spark2.0,我可以使用Dataframe.map(r => r.getAs[String]("field"))
沒有問題Spark2.0中的Dataset.map(r => xx)和Dataframe.map(r => xx)有什麼區別?
但DataSet.map(r => r.getAs[String]("field"))
給出錯誤r
不具備「getAs」的方法。
是什麼在DataSet
和r
在DataFrame
r
之間的差異,爲什麼r.getAs
只有DataFrame
的作品?
在StackOverflow上做了一些研究之後,我發現了一個有用的答案在這裏
Encoder error while trying to map dataframe row to updated row
希望它有助於
它們是什麼類型的數據集? 'getAs'是'Row'上的一個方法,所以你只能使用'r.getAs','r'是'Row''(即你的數據集是'DataSet [Row]',注意'DataFrame'只是'DataSet [Row]'的別名) – puhlen
謝謝。我使用了數據集[_]。當我做DataSet.map(r => xx)時,什麼是r?它是一排數據嗎? @puhlen – rileyss
不,'r'是'Any',因爲你沒有指定它的類型 – puhlen