大数据工程师为什么要学习scala

版权声明: 本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/u011467621/article/details/50450421
>joey 周琦

现在很多数据处理用的是python或R, 那么现在我们对比下scala和python在大数据处理方面的优劣:

  • scala与python对比
    • scala 相对于c语言慢2-3倍,但是python一般比c语言慢50倍。(只是大概,实际会情况不同)
    • scala 缺少python那样丰富的数据处理,机器学习的包(Numpy, scipy, matplotlib,panda, scikit-learn)。当然scala也有自己的包(MLibBreeze, ScalaLab and BIDMach),只不过现对于python不够成熟,丰富
    • python不是为大数据设计的,scala可以说是大数据导向的, 例MLlib相对于scikit-learn的算法数目较少,但是它是天生适合大数据并行计算的。
    • scala,python都是面向对象语言。scala也支持函数式(functional programming)编程,而pyton不支持,python的编程风格也因人而异
    • 更多细节对比http://vschart.com/compare/scala/vs/python-programming-language

下面单独谈谈scala的一些优势:

  • scala的优势
    • 基于JVM与JAVA的生态系统, 可方便利用现有的基于JVM的成熟应用如:HADOOP,Flink,Kafka. 另外Spark也是基于scala写的
    • 强大的并发性(Concurrency)
    • 支持函数式编程
    • 更好支持分布式系统

以前用python比较多,初学SPARK,也跟着学了scala,文中观点基本参考下面的文献,后面学习如果有了新的心得,继续补充

参考:
https://www.hakkalabs.co/articles/three-reasons-data-eng-learn-scala

https://tech.coursera.org/blog/2014/02/18/why-we-love-scala-at-coursera/

http://statrgy.com/2015/05/05/scala-vs-python/

猜你喜欢

转载自blog.csdn.net/u011467621/article/details/50450421