我正在使用spark 1.4代码,现在我们计划转向spark 2.0,当我查看下面的文档时,只有一些向后兼容的功能,这是否意味着我已经更改了我的大部分代码?
Spark 2.0中最大的变化之一是新的更新API:
- 统一DataFrame和Dataset:在Scala和Java中,DataFrame和Dataset已经统一,即DataFrame只是一个类型别名 Row的数据集。在Python和R中,由于缺乏类型安全性, DataFrame是主要的编程接口。
- SparkSession:替换DataFrame和Dataset API的旧SQLContext和HiveContext的新入口点。 SQLContext和 保留HiveContext是为了向后兼容。
- SparkSession的新简化配置API
- 更简单,更高性能的累积器API
- 用于数据集中类型聚合的新的改进聚合器API
答案 0 :(得分:5)
正如评论中所述,Spark有一个移植指南可供遵循。您可以查看here。
除了文件中引用的内容之外,1.6和2.0之间没有太大的变化。
要回答这个问题,我也会说“这取决于”。
例如,最近我必须将机器学习应用程序从1.6.3迁移到2.0.2,这是我在MLLib migration guide中列出的唯一更改。