从 spark 2.0.1 开始我有一些问题。我阅读了很多文档,但到目前为止找不到足够的答案:
- 和有什么区别
df.select("foo")
df.select($"foo")
- 我理解正确吗
myDataSet.map(foo.someVal)
是类型安全的,不会转换为RDD
但保留在 DataSet 表示中/没有额外的开销(2.0.0 的性能明智)
- 所有其他命令,例如 select、.. 只是语法糖。它们不是类型安全的,可以使用映射。
df.select("foo")
如果没有 map 语句 ,我怎么能保证类型安全?- 为什么我应该使用 UDF / UADF 而不是地图(假设地图保留在数据集表示中)?