Spark 2.0 Dataset vs DataFrame從spark 2.0.1開始我有一些問題。我閱讀了很多文檔,但到目前為止找不到足夠的答案:有什么區別df.select("foo")df.select($"foo")我能正確理解嗎myDataSet.map(foo.someVal)是類型安全的,不會轉換為RDD但保留在DataSet表示/沒有額外的開銷(2.0.0的性能明智)所有其他命令,例如select,..只是語法糖。它們不是類型安全的,可以使用地圖代替。如果df.select("foo")沒有地圖聲明,我怎么能輸入?為什么我應該使用UDF / UADF而不是地圖(假設地圖保留在數據集表示中)?
2 回答
ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
Spark Dataset比Spark更強大Dataframe。小例子-你只能創建Dataframe的Row,Tuple或任何原始數據類型,但Dataset給你力量去創造Dataset任何非原始類型的了。即你可以從字面上創建Dataset對象類型。
例如:
case class Employee(id:Int,name:String)
Dataset[Employee] // is valid
Dataframe[Employee] // is invalid
添加回答
舉報
0/150
提交
取消
