Apache Spark作为类Hadoop MapReduce的通用并行框架,一款专为大规模数据处理而设计的分布式计算引擎,以其优越的性能,较为完善的生态,受到了大数据从业人员的青睐。
Spark的框架使用Scala编写(注:Scala是一种运行在Java虚拟机上,实现和Java类库互联互通的面向对象及函数式编程语言),而Spark的开发目前主要使用三种语言:Scala、Python、Java。
相比于Java,Spark中用Scala开发语法简洁许多,且支持类型推断,可大大提升开发效率。更为重要的是,Java不支持REPL(Read-Evaluate-Print-Loop交互式编程环境),而REPL又对数据处理十分关键(很多时候需要即时查看结果)。可以说Spark中的开发工作,Scala相对Java胜出了。
那么,一向以简洁易上手,“可读性爆表”著称,且拥有交互式编程环境的Python,在Spark环境下与Scala相比又如何呢?
参考资料:
Spark环境下Scala和Python两种语言的对比
学习机器学习选择python,还是spark,Scala?