Python的优势:
Scikit-learn,一个Scala无法提供比之更好的机器学习库。
Python社区比Scala更大。
学习资源更易获取,相比于Scala。
几乎有所有深度学习框架的API。
非常容易学习。
Scala的优势
Spark是用Scala写的。最好的Spark体验来自Scala的使用。
强大的功能性语言。
先进型系统。
Spark同样也有PythonAPI,你可以使用Python编写相当数量的功能性代码,这相对增加了Scala的优势。
Scala+Spark是需要大量计算机的分批数据管道的最佳选择。例如,在EuclidAnalytics中,大家使用Spark每天处理大约100gb的传感器数据,并将其总结为可操作的指标。有几件事情使Scala/Spark非常棒:
Spark是迄今为止在多台机器上运行分析工作的最简单和最佳支持的选项。
功能语言对于数据管道来说非常适合,因为管道本质上是数据集上的一个大功能(由几个较小的函数组成)。
静态类型使得在运行代码之前更容易避免错误,当你的工作需要几个小时才能执行时,这很重要。
但这是一个非常具体的利基,90%的公司不应该使用它。Python、R和SQL对于大多数公司的工作类型来说仍然要好一些,其中包括探索性分析,统计学和机器学习。相比之下,Scala/Spark在所有这些方面都相当薄弱:Scala在生产工作方面表现优异,但对于临时工作,它依然是一个相当差的工具。