ITPub博客

首页 > 大数据 > > 为什么Spark要用Scala实现?

为什么Spark要用Scala实现?

作者:格伯纳 时间:2020-05-11 11:09:09 0 删除 编辑
作者:冰封
链接:https://www.zhihu.com/question/27441350/answer/178561758
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

下面只是说说spark研发团队为什么选择scala,不是对比语言好坏。

第一:java与scala

1、当涉及到大数据Spark项目场景时,Java就不太适合,与Python和Scala相比,Java太冗长了,一行scala可能需要10行java代码。

2、当大数据项目,Scala支持Scala-shell,这样可以更容易地进行原型设计,并帮助初学者轻松学习Spark,而无需全面的开发周期。但是Java不支持交互式的shell功能。

第二:Python与Scala

虽然两者都具有简洁的语法,两者都是面向对象加功能,两者都有活跃的社区。

1、Python通常比Scala慢,Scala会提供更好的性能。

2、Scala是static typed. 错误在编译阶段就抛出,它使在大型项目中开发过程更容易。

3、Scala基于JVM,因为Spark是基于Hadoop的文件系统HDFS的。 Python与Hadoop服务交互非常糟糕,因此开发人员必须使用第三方库(如hadoopy)。 Scala通过Java中的Hadoop API来与Hadoop进行交互。 这就是为什么在Scala中编写本机Hadoop应用程序非常简单。

总之:

选择哪种语言,要看作者的个人想法着重点,当然想“玩”spark,python也是非常好的。

Spark专注于数据的"transformation"和"mapping"的概念,这非常适合于完美支持像scala这样的概念的功能编程语言。

另外scala在JVM上运行,这使得更容易集成hadoop、YARN等框架。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3160297/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    984455