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


大数据的浪潮仍在继续。它渗透到了几乎所有的行业,信息像洪水一样地席卷企业,使得软件越发庞然大物,比如Excel看上去就变得越来越笨拙。数据处理不再无足轻重,并且对精密分析和强大又实时处理的需要变得前所未有的巨大。


那么,在巨大的数据集中进行筛选的最好工具是什么?通过和数据骇客的交流,我们知道了他们用于硬核数据分析最喜欢的语言和工具包。



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


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



2、Rython



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


“这是这个行业的进步。在过去的两年时间中,从R语言到Python已经发生了非常明显的转变,”Butler说。


在数据处理中,在规模和复杂性之间往往会有一个权衡,于是Python成为了一种折中方案。IPython notebook和NumPy可以用作轻便工作的一种暂存器,而Python可以作为中等规模数据处理的强大工具。丰富的数据社区,也是Python的优势,因为可以提供了大量的工具包和功能。


美国银行使用Python在银行的基础架构中构建新的产品和接口,同时也用Python处理财务数据。“Python广泛而灵活,因此人们趋之若鹜,”O’Donnell说。


不过,它并非最高性能的语言,只能偶尔用于大规模的核心基础设施,Driscoll这样说道。



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和Hive



一群基于Java的工具被开发出来以满足数据处理的巨大需求。Hadoop作为首选的基于Java的框架用于批处理数据已经点燃了大家的热情。Hadoop比其他一些处理工具慢,但它出奇的准确,因此被广泛用于后端分析。它和Hive——一个基于查询并且运行在顶部的框架可以很好地结对工作。



6、Scala



Scala是另一种基于Java的语言,并且和Java相同的是,它正日益成为大规模机器学习,或构建高层次算法的工具。它富有表现力,并且还能够构建健壮的系统。


“Java就像是建造时的钢铁,而Scala则像黏土,因为你之后可以将之放入窑内转变成钢铁,”Driscoll说。



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


来源:大数据


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

再记一次 应用服务器 CPU 暴高事故分析

一:背景 1. 前言大概有2个月没写博客了,不是不想写哈????,关注公号的朋友应该知道我这两个月一直都在翻译文章,前前后后大概100篇左右吧,前几天看公号的 常读用户 降了好几十,心疼哈,还得回…

”残酷“人生第一步

仔仔终于要面对人生中的第一次巨大困难:断奶了。恰逢夫人要出差几日,刚刚开始,我们都很犹豫。确实很怕他整夜哭闹。但是思考再三还是决定,让小家伙独自面对吧。于是,他的“残酷”人生第一步,就这样准备开始…

IdentityServer4之Authorization Code(授权码)相对更安全

前言接着授权模式聊,这次说说Authorization Code(授权码)模式,熟悉的微博接入、微信接入、QQ接入都是这种方式(这里说的是oauth2.0的授权码模式),从用户体验上来看,交互方式和Implicit没啥改变,随便找个网站瞅瞅&#…

后端根据百度地图真实路径距离_导航软件哪家强?实测百度地图and高德地图哪个更靠谱...

随着社会的不断发展,人们的生活越来越离不开地图导航,无论是开车出行还是到去到陌生的地方,我们都会用到手机地图。然而在众多导航软件中,使用最为广泛的就要属百度地图和高德地图了。但别看都是导航软件,其中差别还真…

一文读懂 KMP 算法

字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法&#xff…

128位加密SSL证书

SGC超真SSL(SGC ZhenSSL)属于 SGC Enabled High Assurance SSL, 是 WoSign 的增强型 SSL证书产品,支持 SGC 强制128位加密技术,即使用户的浏览器只支持 40 位( 如 IE4.X) 或 56 位 ( 如 IE5.X) 也能自动强制实现至少 128 位的高强度加密&…

eclipse连接mysql_专题一、flask构建mysql数据库正确姿势

每周壹总结,一起共同充电第121篇应用程序最核心的就是数据,每天我们写程序其实也是在处理数据的过程,那么很有必要系统性的讲讲和梳理python的flask框架是如何进行数据交互操作的。趁这3天假期,分4篇内容来系统的讲讲,…

C#多线程和异步(二)——Task和async/await详解

一、什么是异步同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者…

从头到尾彻底理解傅里叶变换算法(上)

从头到尾彻底理解傅里叶变换算法(上) 前言 第一部分、 DFT 第一章、傅立叶变换的由来 第二章、实数形式离散傅立叶变换(Real DFT) 从头到尾彻底理解傅里叶变换算法、下 第三章、复数 第四章、复数形式离散傅立叶变换 前言&#x…

使用ADO.NET的参数集合来有效防止SQL注入漏洞

SQL注入漏洞是个老话题了,在以前做ASP做开发时,就经常需要用字符串的过虑等方式来解决这个问题,但有时候确做的不够彻底,往往让***钻了空子。那么目前在我们.NET中,不管是用WINFORM开发还是用WEBFORM,连接数…

[Abp 源码分析]ASP.NET Core 集成

点击上方蓝字关注我们0. 简介整个 Abp 框架最为核心的除了 Abp 库之外,其次就是 Abp.AspNetCore 库了。虽然 Abp 本身是可以用于控制台程序的,不过那样的话 Abp 就基本没什么用,还是需要集合 ASP.NET Core 才能发挥它真正的作用。在 Abp.AspN…

从头到尾彻底理解傅里叶变换算法(下)

从头到尾彻底理解傅里叶变换算法(上),请看今天第一条。 以下继续: 第三章、复数 复数扩展了我们一般所能理解的数的概念,复数包含了实数和虚数两部分,利用复数的形式可以把由两个变量表示的表达式变成由一个…

树莓派安装python3.5_梦见树_周公解梦梦到树是什么意思_做梦梦见树好不好_周公解梦官网...

梦见树是什么意思?做梦梦见树好不好?梦见树有现实的影响和反应,也有梦者的主观想象,请看下面由(周公解梦官网www.zgjm.org)小编帮你整理的梦见树的详细解说吧。树主健康,树笔直挺拔,象征着人的健康。 在梦中…

[Abp 源码分析]后台作业与后台工作者

点击上方蓝字关注我们0. 简介在某些时候我们可能会需要执行后台任务,或者是执行一些周期性的任务。比如说可能每隔 1 个小时要清除某个临时文件夹内的数据,可能用户会要针对某一个用户群来群发一组短信。前面这些就是典型的应用场景,在 Abp 框…

【转】x.509证书在WCF中的应用(CS篇)

【转自】x.509证书在WCF中的应用(CS篇) 为什么要用x.509证书? WCF的服务端和客户端之间&#xff0c;如 果不作任何安全处理(即服务端的<security mode"None">)&#xff0c;则所有传输的消息将以明文方式满天飞&#xff0c;在internet/intranet环境下无疑是很不…

从概念到案例:初学者须知的十大机器学习算法

本文先为初学者介绍了必知的十大机器学习&#xff08;ML&#xff09;算法&#xff0c;并且我们通过一些图解和实例生动地解释这些基本机器学习的概念。我们希望本文能为理解机器学习基本算法提供简单易读的入门概念。 机器学习模型 在《哈佛商业评论》发表「数据科学家是 21 世…

测试Live Write的插件

1、文字竖排&#xff1a; 删除&#xff0c;只因首页显示时太占空间。2、酷表情&#xff1a;3、Rhapsody SongI am listening to Sad Songs And Waltzes by Cake . Rhapsody.

手把手教你用7行代码实现微信聊天机器人 -- Python wxpy

环境要求&#xff1a; Windows / Linux / Mac OS Python 3.4-3.6&#xff0c;以及 2.7 版本 wxpy安装 ## 使用国内源安装速度快 pip install -U wxpy -i "https://pypi.doubanio.com/simple/" 实例 让机器人与所有好友聊天 from wxpy import * # 实例化&#xff0c;并…

Dapr 已在塔架就位 将发射新一代微服务

微服务是云原生架构的核心&#xff0c;通常使用Kubernetes 来按需管理服务扩展。微软一直走在 Cloud Native Computing Foundation的 最前沿&#xff0c;并通过使用Kubernetes来支持其超大规模Azure和其混合云Azure Stack&#xff0c;微软对云原生的投资一部分来自其工具&#…

python 复制文件_10 行 Python 代码写 1 个 USB 病毒

(给Python开发者加星标&#xff0c;提升Python技能)转自&#xff1a; 知乎-DeepWeaver昨天在上厕所的时候突发奇想&#xff0c;当你把usb插进去的时候&#xff0c;能不能自动执行usb上的程序。查了一下&#xff0c;发现只有windows上可以&#xff0c;具体的大家也可以搜索(搜索…