码农的良心推荐:9个最佳的大数据处理编程语言

CrazyPM产品经理社区  阅读数  1366  2018-11-07 20:10:44

摘要:大数据的浪潮仍在继续。它渗透 到了简直 一切 的行业,信息像洪水一样地席卷企业,使得软件越发庞然大物,比如 Excel看上去就变得越来越蠢笨 。数据处置 不再无足轻重,并且对精密 剖析 和强大又实时处置 的需求 变得史无前例 的庞大 。

那么,在庞大 的数据集中中止 选择 的最好工具是什么?经过 和数据骇客的交流,我们知道 了他们用于硬核数据剖析 最喜欢的言语 和工具包。

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说。

那么,他运用 什么替代 呢?请继续阅往下看。

Rython

假定 说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的框架,被发现俨然成为了硅谷最大的那些高科技公司的骨骼支架。 “假定 你去看Twier,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编写的另一个框架,它在硅谷中由于 流处置 而遭到 了大量的喜欢 。它被Twier归入 其中,勿庸置疑的,这样一来,Twier就能在快速事情 处置 中得到庞大 的裨益。

鼓舞 奖:

MatLab

MatLab不时 以来长盛不衰,固然 它要价不菲,但它依然 被普遍 运用 在一些十分 特殊的范畴 :研讨 密集型机器学习,信号处置 ,图像辨认 ,仅举几例。

Octave

Octave和MatLab十分 相似 ,但它是免费的。不过,它在学术性信号处置 圈子之外很少见到。

GO

GO是另一个正在掀起浪潮的后起之秀。它由Google开发,从C言语 涣散 地派生,并在构建强壮 基础 设备 上,正在赢得 竞争对手,例如Java和Python的份额。

译文链接:http://www.codeceo.com/article/9-best-language-crunching-data.html
英文原文:The 9 Best Languages For Crunching Data
翻译作者:码农网?– 小峰

 

赞助商推荐:数极客是新一代用户行为分析与数据智能平台,支持用户数据分析运营数据分析留存分析路径分析漏斗分析用户画像SEM数据分析等16种分析模型的数据分析产品,支持网站统计网站分析APP统计APP分析等分析工具,以及会员营销系统A/B测试工具等数据智能应用,支持SAAS和私有化部署,提升用户留存和转化率,实现数据驱动增长!

 

【独家稿件及免责声明】本站原创文章如需转载请联系我们,未经书面许可禁止转载,本站转载文章著作权归原作者所有,如有侵权请联系:。

增长工具