• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 大数据开发需要学什么编程语言?

发布时间:2019-10-18 18:32:50 浏览 5954 来源:博学谷 作者:照照

    大数据开发需要学什么编程语言?随着大数据的持续升温,越来越多的人投身于大数据的浪潮之中,不少完全没基础的小伙伴,难免会有这样的疑问,从事大数据需要学习什么编程语言呢?其实这个问题没有固定的答案,像Python、R、Java和Scala都是很好的选择,大家可以根据自身的实际情况进行选择。

     

    大数据开发学编程语言

     

    1、Python
      

    一般的数据科学家都会选择Python作为大数据语言的首选。一直以来,Python流行于学术界,在自然语言处理(NLP)等领域尤其如此。所以,当有一个需要NLP处理的项目时,就会面临数量多得让人眼花缭乱的选择,包括经典的NTLK、使用GenSim的主题建模,或者超快、准确的spaCy。不仅如此,在神经网络领域Python同样适用。在大数据处理框架中,Python通常能够得到支持。
      

    Python与R相反,它是一种传统的面向对象语言,所以大多数开发人员用起来会相当得心应手。但是初次接触R或Scala会让人心生畏惧。一个小问题就是你的代码中需要留出正确的空白处。这将人员分成两大阵营,一派觉得“这非常有助于确保可读性”,另一派则认为,我们应该不需要就因为一行代码有个字符不在适当的位置,就要迫使解释器让程序运行起来。
      

    2、R
      

    R又叫做“统计人员为统计人员开发的一种语言”。大家如果需要计算深奥的统计模型,可能会在CRAN上找到它。说到用于分析和标绘,没有什么比得过ggplot2。而如果你想利用比你机器提供的功能还强大的功能,那可以使用SparkR绑定,在R上运行Spark。
      

    然而,如果你不是数据科学家,之前也没有用过Matlab、SAS或OCTAVE,可能需要一番调整,才能使用R来高效地处理。即使R很适合数据分析的工作,但它并不就擅长一般用途。你可以用R构建模型,但是你需要考虑将模型转换成Scala或Python,才能用于生产环境。
      

    3、Scala
      

    不得不说,因其类型系统Scala几乎是最轻松的语言。Scala在JVM上运行,基本上成功地结合了,函数范式和面向对象范式。目前,它在金融界和需要处理海量数据的公司企业中,取得了巨大进展。常常采用一种大规模分布式方式来处理。另外它还是驱动Spark和Kafka的一种语言。
      

    由于Scala在JVM里面运行,它可以立即随意访问Java生态系统,不过它也有一系列广泛的“原生”库,用于处理大规模数据(尤其是Twitter的Algebird和Summingbird)。它还包括一个使用非常方便的REPL,用于交互式开发和分析,就像使用Python和R那样。然而Scala也有缺点,它的编译器运行起来有点慢。不过,它有REPL、支持大数据,还有采用Jupyter和Zeppelin这一形式的基于Web的笔记本框架。考虑到以上的优势,总体来讲,Scala还是利大于弊的。
      

    4、Java
      

    Java很适合大数据的项目。比如HadoopMapReduce,它用Java编写。而HDFS也是用Java来编写的。连Storm、Kafka和Spark都可以在JVM上运行,这意味着Java是这些项目中的首选编程语言。另外还有像Google Cloud Dataflow这些新技术,之前一直还只支持Java。研发人员在竭力理清Node.js应用程序中的一套回调,使用Java可以访问一个庞大的生态系统,以及除此之外的更多内容。
      

    Java唯一的缺点是非常繁琐冗长,而且缺少交互式开发所需的REPL。这一点来说,R、Python和Scala都有。不过Java 8中新的Lambda支持功能,对于改善这种情况会有帮助。Java从来不会像Scala那么紧凑,但是Java 8确确实实使得用Java进行开发不那么痛苦。
      

    以上就是大数据开发需要学习的编程语言。大家如果对如何学习大数据头疼,可以上博学谷官网进行视频学习。相信海量而又全面系统的学习视频资源,不会让大家失望。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 大数据疑难解答 Hbase内部是什么机制? 下一篇: 云计算的核心技术有哪些?五大核心技术深入分析

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码