Spark 2.0 Dataset vs DataFrame

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而不是地图(假设地图保留在数据集表示中)?


陪伴而非守候
浏览 457回答 2
2回答

ABOUTYOU

Spark Dataset比Spark更强大Dataframe。小例子-你只能创建Dataframe的Row,Tuple或任何原始数据类型,但Dataset给你力量去创造Dataset任何非原始类型的了。即你可以从字面上创建Dataset对象类型。例如:case class Employee(id:Int,name:String)Dataset[Employee]   // is validDataframe[Employee] // is invalid
打开App,查看更多内容
随时随地看视频慕课网APP