语言不同:Scala 是一门函数式语言,Java是面向对象语言,二者在语言特点上差异特别大。但是scala也是运行在java虚拟机上,两者可以方便的互相调用。
Spark作为一个数据统计分析的工具,它是偏向于函数式处理的思想,因此在spark应用开发时,天然与scala亲近,所以用scala写spark十分的简洁明了,用java代码100行写出来的spark程序,可能用scala几行就搞定了。
Java写spark则是java出生的开发人员快速使用spark的最佳选择。另外,Java 8之后,也添加了一些函数式语言得语法,这使得Java写spark简洁不少。