快捷导航
搜索
查看: 33143|回复: 1

10个最佳的大数据处理编程语言

[复制链接]

426

主题

517

帖子

1060

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1060

小白报道热心会员活跃会员灌水之王

发表于 2017-11-15 17:34:28 | 显示全部楼层 |阅读模式
在巨大的数据集中进行筛选的最好工具是什么?通过和数据骇客的交流,我们知道了他们用于硬核数据分析
最喜欢的语言和工具包。
R语言
在这些语言名单中,如果R语言排第二,那就没其他能排第一。自1997年以来,作为昂贵的统计软件,如
Matlab和SAS的免费替代品,它渐渐风靡全球。

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

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的份额。

转自:CSDN

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0

主题

1

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2017-11-22 00:19:42 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|金山云大米以渔论坛  

GMT+8, 2018-5-26 06:24 , Processed in 0.076163 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表