10个最佳的⼤数据处理编程语⾔
 在巨⼤的数据集中进⾏筛选的最好⼯具是什么?通过和数据骇客的交流,我们知道了他们⽤于硬核数据分析最喜欢的语⾔和⼯具包。
  R语⾔
  在这些语⾔名单中,如果R语⾔排第⼆,那就没其他能排第⼀。⾃1997年以来,作为昂贵的统计软件,如Matlab和SAS的免费替代品,它渐渐风靡全球。
  在过去的⼏年时间中,R语⾔已经成为了数据科学的宠⼉——数据科学现在不仅仅在书呆⼦⼀样的统计学家中⼈尽皆知,⽽且也为华尔街交易员,⽣物学家,和硅⾕开发者所家喻户晓。各种⾏业的公司,例如Google,Facebook,美国银⾏,以及纽约时报都使⽤R语⾔,R 语⾔正在商业⽤途上持续蔓延和扩散。
对⼤数据以及⼈⼯智能概念都是模糊不清的,该按照什么线路去学习,学完往哪⽅⾯发展,想深⼊了解,想学习的同学欢迎加⼊⼤数据学习qq:458345782,有⼤量⼲货(零基础以及进阶的经典实战)分享给⼤家,并且有清华⼤学毕业的资深⼤数据讲师给⼤家免费授课,给⼤家分享⽬前国内最完整的⼤数据⾼端实战实⽤学习流程体系 。从java和linux⼊⼿,其后逐步的深⼊到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识⼀⼀分享!
  R语⾔有着简单⽽明显的吸引⼒。使⽤R语⾔,只需要短短的⼏⾏代码,你就可以在复杂的数据集中筛选,通过先进的建模函数处理数据,以及创建平整的图形来代表数字。它被⽐喻为是Excel的⼀个极度活跃版本。
  R语⾔最伟⼤的资本是已围绕它开发的充满活⼒的⽣态系统:R语⾔社区总是在不断地添加新的软件包和功能到它已经相当丰富的功能集中。据估计,超过200万的⼈使⽤R语⾔,并且最近的⼀次投票表明,R语⾔是迄今为⽌在科学数据中最流⾏的语⾔,被61%的受访者使⽤(其次是Python,39%)。
  此外,它的⾝影也渐渐出现在了华尔街。以前,银⾏分析师会全神贯注于Excel⽂件直到深夜,但现在R语⾔被越来越多地⽤于⾦融建模R,特别是作为⼀种可视化⼯具,Niall O’Connor,美国银⾏的副总裁如是说。 “R语⾔使我们平凡的表格与众不同,”他说。
  R语⾔的⽇渐成熟,使得它成为了数据建模的⾸选语⾔,虽然当企业需要⽣产⼤型产品时它的能⼒会变得有限,也有的⼈说这是因为它的地位正在被其他语⾔篡夺。
  “R更适合于做⼀个草图和⼤概,⽽不是详细的构建,”Michael Driscoll,Metamarkets的⾸席执⾏官说。 “你不会在⾕歌的⽹页排名以及Facebook的朋友推荐算法的核⼼到R语⾔。⼯程师会⽤R语⾔做原型,然后移交给⽤Java或Python写的模型。”目前流行的编程语言
  话说回来,早在2010年,Paul Butler就以R语⾔打造了全球的Facebook地图⽽着名,这证明了该语⾔丰富的可视化功能。尽管他现在已经不像以前那样频繁地使⽤R语⾔了。
  “R正在⼀点点地过时,因为它的缓慢和处理⼤型数据集的笨重,”Butler说。
  那么,他使⽤什么代替呢?请继续阅往下看。
  Python
  如果说R语⾔是⼀个神经质⼜可爱的⾼⼿,那么Python是它随和⼜灵活的表兄弟。作为⼀种结合了R语⾔快速对复杂数据进⾏挖掘的能⼒并构建产品的更实⽤语⾔,Python迅速得到了主流的吸引⼒。Python是直观的,并且⽐R语⾔更易于学习,以及它的⽣态系统近年来急剧增长,使得它更能够⽤于先前为R语⾔保留的统计分析。
  “这是这个⾏业的进步。在过去的两年时间中,从R语⾔到Python已经发⽣了⾮常明显的转变,”Butler说。
  在数据处理中,在规模和复杂性之间往往会有⼀个权衡,于是Python成为了⼀种折中⽅案。IPython notebook和NumPy可以⽤作轻便⼯作的⼀种暂存器,⽽Python可以作为中等规模数据处理的强⼤⼯具。丰富的数据社区,也是Python的优势,因为可以提供了⼤量的⼯具包和功能。
  美国银⾏使⽤Python在银⾏的基础架构中构建新的产品和接⼝,同时也⽤Python处理财务数据。“Python⼴泛⽽灵活,因此⼈们趋之若鹜,”O’Donnell说。
  不过,它并⾮最⾼性能的语⾔,只能偶尔⽤于⼤规模的核⼼基础设施,Driscoll这样说道。
  Julia
  虽然当前的数据科学绝⼤多数是通过R语⾔,Python,Java,MatLab和SAS执⾏的。但依然有其他
的语⾔存活于夹缝中,Julia就是值得⼀看的后起之秀。
  业界普遍认为Julia过于晦涩难懂。但数据骇客在谈到它取代R和Python的潜⼒时会不由得眉飞⾊舞。Julia是⼀种⾼层次的,极度快速的表达性语⾔。它⽐R语⾔快,⽐Python更可扩展,且相当简单易学。
  “它正在⼀步步成长。最终,使⽤Julia,你就能够办到任何⽤R和Python可以做到的事情,”Butler说。
  但是⾄今为⽌,年轻⼈对Julia依然犹豫不前。Julia数据社区还处于早期阶段,要能够和R语⾔和Python竞争,它还需要添加更多的软件包和⼯具。
  “它还很年轻,但它正在掀起浪潮并且⾮常有前途,”Driscoll说。
  JAVA
  Java,以及基于Java的框架,被发现俨然成为了硅⾕最⼤的那些⾼科技公司的⾻骼⽀架。 “如果你去看Twitter,LinkedIn和Facebook,那么你会发现,Java是它们所有数据⼯程基础设施的基础语⾔,”Driscoll说。
  Java不能提供R和Python同样质量的可视化,并且它并⾮统计建模的最佳选择。但是,如果你移动到过去的原型制作并需要建⽴⼤型系统,那么Java往往是你的最佳选择。
  hadoop 和 Hive
  ⼀基于Java的⼯具被开发出来以满⾜数据处理的巨⼤需求。Hadoop作为⾸选的基于Java的框架⽤于批处理数据已经点燃了⼤家的热情。Hadoop⽐其他⼀些处理⼯具慢,但它出奇的准确,因此被⼴泛⽤于后端分析。它和Hive——⼀个基于查询并且运⾏在顶部的框架可以很好地结对⼯作。
  Scala
  Scala是另⼀种基于Java的语⾔,并且和Java相同的是,它正⽇益成为⼤规模机器学习,或构建⾼层次算法的⼯具。它富有表现⼒,并且还能够构建健壮的系统。
  “Java就像是建造时的钢铁,⽽Scala则像黏⼟,因为你之后可以将之放⼊窑内转变成钢铁,”Driscoll说。
  Kafka 和 Storm
  那么,当你需要快速实时的分析时⼜该怎么办呢?Kafka会成为你的好朋友。它⼤概5年前就已经出现了,但是直到最近才成为流处理的流⾏框架。
  Kafka,诞⽣于LinkedIn内部,是⼀个超快速的查询消息系统。Kafka的缺点?好吧,它太快了。在实时操作时会导致⾃⾝出错,并且偶尔地会遗漏东西。
  “有精度和速度之间有⼀个权衡,”Driscoll说, “因此,硅⾕所有的⼤型⾼科技公司都会使⽤两条管道:Kafka或Storm⽤于实时处理,然后Hadoop⽤于批处理系统,此时虽然是缓慢的但超级准确。”
  Storm是⽤Scala编写的另⼀个框架,它在硅⾕中因为流处理⽽受到了⼤量的青睐。它被Twitter纳⼊其中,勿庸置疑的,这样⼀
来,Twitter就能在快速事件处理中得到巨⼤的裨益。
  ⿎励奖
  MatLab
  MatLab⼀直以来长盛不衰,尽管它要价不菲,但它仍然被⼴泛使⽤在⼀些⾮常特殊的领域:研究密集型机器学习,信号处理,图像识别,仅举⼏例。
  Octave
  Octave和MatLab⾮常相似,但它是免费的。不过,它在学术性信号处理圈⼦之外很少见到。
  GO
  GO是另⼀个正在掀起浪潮的后起之秀。它由Google开发,从C语⾔松散地派⽣,并在构建健壮基础设施上,正在赢得竞争对⼿,例如Java和Python的份额。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。