我听到一个常见的主题,即我应该只在 Spark (1.5.1) 上的 Scala 中进行认真的编程。真正的高级用户使用 Scala。据说 Python 非常适合分析,但最终代码应该写入 Scala 来完成。我听到的原因有很多:
- Spark 是用 Scala 编写的,因此始终比基于它的任何其他语言实现更快。
- 与 Python API 相比,Spark 版本始终倾向于为 Scala API 提供更多可见和启用的功能。
以上内容是否属实?我有点怀疑。
谢谢
最佳答案
无论您是在 Scala、Pyspark 还是 Java 中运行 Spark Dataframe API,其执行效果都是相同的。然而,RDD API 在 Scala 中的运行速度比在 Pyspark 上快得多
Databricks 在一些方面有一篇非常好的文章 recent performance improvements在 Spark 中。
Scala API 肯定会首先获得更多测试和更多新功能,尽管新功能并不总是仅在 Scala 或 Java 中可用。
就我个人而言,我认为学习足够的 Scala 所需的努力是值得的 - 您无需成为 Scala 专家即可获得在 Spark 中使用它的好处。
关于python - Spark 和 PySpark 之间是否存在功能对等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980613/