为什么使用Scala进行spark开发?
众所周知,spark本身使用Scala进行编写,虽然spark支持java和python开发,但是笔者还是建议学习Scala,并使用Scala进行spark开发。
我看过很多帖子,大家都说Scala学习成本大,spark支持那么多语言,为什么非要使用Scala进行开发呢?笔者认为:
1.spark的底层使用的是Scala,所以对Scala的支持是最好的。
2.spark具有“轻”的特点,总共才3万多行Scala语言,该语言相对于java而言更加的简练。
3.对于并发性而言,尤其是处理海量数据的情况,Scala处理高并发多线程问题时,拥有巨大的优势。
4.对于学习成本而言,Scala上手难度确实比其他一些语言难度大。但是,笔者认为如果只是使用Scala对spark进行开发,只需要掌握Scala的一些基础知识,并且可以通过学习spark源码,更好的掌握Scala。
5.Scala基于java虚拟机,在开发的过程中,可以依赖任何的java库。此外,Scala除了支持函数编程,也支持面相对象编程。
总结:
笔者认为,长痛不如短痛,与其害怕今后使用其他语言对spark开发而产生一些困难,不如狠下心来学习下Scala。
笔者建议使用《Scala函数式编程》进行Scala辅助学习。