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 回答
![?](http://img1.sycdn.imooc.com/533e4c5600017c5b02010200-100-100.jpg)
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
提交
取消