• 共享经济下,作为一个优秀的“码农”,有9个大数据处理编程语言你不得不知道。当需要对巨大的数据集中进行筛选时,码农们都知道最好的工具是什么

    1.R语言

    在语言名单中,如果R语言排第二,那就没其他能排第一。自1997年以来,作为昂贵的统计软件,如Matlab和SAS的免费替代品,它渐渐风靡全球。

    在过去的几年时间中,R语言已经成为了数据科学的宠儿——数据科学现在不仅仅在统计学家中人尽皆知,而且也为华尔街交易员、生物学家、硅谷开发者所家喻户晓。各行各业,如Google,Facebook,美国银行,以及纽约时报都使用R语言,R语言正在商业用途上持续蔓延和扩散。

    话说回来,早在2010年,PaulButler就以R语言打造了全球的Facebook地图而著名,这证明了该语言丰富的可视化功能。尽管他现在已经不像以前那样频繁地使用R语言了。“R正在一点点地过时,因为它的缓慢和处理大型数据集的笨重。”Butler说。那么,他使用什么代替呢? 

    2.Python

    如果说R语言是一个神经质又可爱的高手,那么Python是它随和又灵活的表兄弟。作为一种结合了R语言快速对复杂数据进行挖掘并构建产品的更实用语言,Python迅速得到了主流的吸引力。Python是直观的,并且比R语言更易于学习,以及它的生态系统近年来急剧增长,使得它更能够用于先前为R语言保留的统计分析。“这是这个行业的进步。在过去的两年时间中,从R语言到Python已经发生了非常明显的转变。”Butler说。

    在数据处理中,在规模和复杂性之间往往会有一个权衡,于是Python成为了一种折中方案。IPythonnotebook和NumPy可以用作轻便工作的一种暂存器,而Python可以作为中等规模数据处理的强大工具。丰富的数据社区,也是Python的优势,因为可以提供了大量的工具包和功能。美国银行使用Python在银行的基础架构中构建新的产品和接口,同时也用Python处理财务数据。“Python广泛而灵活,因此人们趋之若鹜。”O’Donnell说。不过,它并非最高性能的语言,只能偶尔用于大规模的核心基础设施。

    3.Julia

    虽然当前的数据科学绝大多数是通过R语言、Python、Java、MatLab和SAS执行的,但依然有其他的语言存活于夹缝中,Julia就是其中的后起之秀。

    业界普遍认为Julia过于晦涩难懂,但在谈到它取代R和Python的潜力时会不由得眉飞色舞。Julia是一种高层次的、极度快速的表达性语言。它比R语言快,比Python更可扩展,且相当简单易学。

    “它正在一步步成长。最终,使用Julia,你就能够办到任何用R和Python可以做到的事情。”Butler说。但是至今为止,年轻人对Julia依然犹豫不前。Julia数据社区还处于早期阶段,想要和R语言和Python竞争,它还需要添加更多的软件包和工具。“它还很年轻,但它正在掀起浪潮并且非常有前途。”Driscoll说。

    4.Java

    Java,以及基于Java的框架,被发现俨然成为了硅谷最大的那些高科技公司的骨骼支架。“如果你去看Twitter、LinkedIn和Facebook,那么你会发现,Java是它们所有数据工程基础设施的基础语言。”Driscoll说。

    虽然,Java不能提供R和Python同样质量的可视化,并且它并非统计建模的最佳选择,但是,如果你移动到过去的原型制作并需要建立大型系统,那么Java往往是你的最佳选择。

    5.Hadoop

    一群基于Java的工具被开发出来以满足数据处理的巨大需求。Hadoop作为首选的基于Java的框架用于批处理数据已经点燃了大家的热情。Hadoop比其他一些处理工具慢,但它出奇地准确,因此被广泛用于后端分析。

    6.Hive

    Hive,一个基于查询并且运行在顶部的框架,可以和Hadoop很好地结对工作。

    7.Scala

    Scala是另一种基于Java的语言,并且和Java相同的是,它正日益成为大规模机器学习或构建高层次算法的工具。它富有表现力,并且还能够构建健壮的系统。“Java就像是建造时的钢铁,而Scala则像黏土,因为你可以将之放入窑内转变成钢铁。”Driscoll说。

    8.Kafka

    那么,当你需要快速实时地分析时又该怎么办呢?Kafka会成为你的好朋友。它大概5年前就已经出现了,但是直到最近才成为流处理的流行框架。

    Kafka,诞生于LinkedIn内部,是一个超快速的查询消息系统。如果你问Kafka的缺点?好吧,它太快了,在实时操作时会导致自身出错,并且偶尔地会遗漏东西。“在精度和速度之间有一个权衡,”Driscoll说,“因此,硅谷所有的大型高科技公司都会使用两条管道:Kafka或Storm用于实时处理,然后Hadoop用于批处理系统,此时虽然是缓慢的,但超级准确。”

    9.Storm

    Storm是用Scala编写的另一个框架,它在硅谷中因为流处理而受到了大量的青睐。它被Twitter纳入其中,勿庸置疑的,这样一来,Twitter就能在快速事件处理中得到巨大的裨益。

    以上就是为大家介绍的大数据处理语言的优缺点和受欢迎度。大数据人才的需求量不言而喻。希望大家学好大数据语言,为自己的职场晋升做好准备。