10种大数据编程语言_大数据用什么编程语言处理分析
2015-08-18 12:19:21  By: dwtedx

随着大数据的热潮不断升温、几乎各个领域都有洪水倾泻般的信息涌来、面对用户成千上万的浏览记录、记录行为数据、如果就单纯的Excel来进行数据处理是远远不能满足的、

替代性很高的工作、无法深入规划策略的核心、当然、基本功是最不可忽略的环节、想要成为数据科学家、对于这几个程序语言你应该要有一定的认识

大数据的秘密


一、R

若要列出所有程序语言、你能忘记其他的没关系、但最不能忘的就是R、从1997年悄悄地出现、最大的优势就是它免费、为昂贵的统计软件像是Matlab或SAS的另一种选择、但是在过去几年来、它的身价大翻转、变成了资料科学界眼中的宝、不只是木讷的统计学家熟知它、包括WallStreet交易员、生物学家、以及硅谷开发者、他们都相当熟悉R、多元化的公司像是Google、Facebook、美国银行以及NewYorkTimes通通都使用R、它的商业效用持续提高


R的好处在于它简单易上手、透过R、你可以从复杂的数据集中筛选你要的数据、从复杂的模型函数中操作数据、建立井然有序的图表来呈现数字、这些都只需要几行程序代码就可以了、打个比方、它就像是好动版本的Excel、R最棒的资产就是活跃的动态系统、R社群持续地增加新的软件包、还有以内建丰富的功能集为特点、目前估计已有超过200万人使用R、最近的调查显示、R在数据科学界里、到目前为止最受欢迎的语言、占了回复者的61%(紧追在后的是39%的Python)


它也吸引了WallStreet的注目、传统而言、证券分析师在Excel档从白天看到晚上、但现在R在财务建模的使用率逐渐增加、特别是可视化工具、美国银行的副总裁NiallO’Conno说、R让我们俗气的表格变得突出」、在数据建模上、它正在往逐渐成熟的专业语言迈进、虽然R仍受限于当公司需要制造大规模的产品时、而有的人说他被其他语言篡夺地位了、“R更有用的是在画图、而不是建模、”顶尖数据分析公司Metamarkets的CEO、MichaelDriscoll表示、“你不会在Google的网页排名核心或是Facebook的朋友们推荐算法时看到R的踪影、工程师会在R里建立一个原型、然后再到Java或Python里写模型语法”


举一个使用R很有名的例子、在2010年时、PaulButler用R来建立Facebook的世界地图、证明了这个语言有多丰富多强大的可视化数据能力、虽然他现在比以前更少使用R了、“R已经逐渐过时了、在庞大的数据集底下它跑的慢又笨重”Butler说、所以接下来他用什么呢?


二、Python

如果说R是神经质又令人喜爱的Geek、那Python就是随和又好相处的女生、Python结合了R的快速、处理复杂数据采矿的能力以及更务实的语言等各个特质、迅速地成为主流、Python比起R、学起来更加简单也更直观、而且它的生态系统近几年来不可思议地快速成长、在统计分析上比起R功能更强


Butler说、“过去两年间、从R到Python地显著改变、就像是一个巨人不断地推动向前进”、在数据处理范畴内、通常在规模与复杂之间要有个取舍、而Python以折衷的姿态出现、IPythonNotebook(记事本软件)和NumPy被用来暂时存取较低负担的工作量、然而Python对于中等规模的数据处理是相当好的工具;Python拥有丰富的资料族、提供大量的工具包和统计特征


美国银行用Python来建立新产品和在银行的基础建设接口、同时也处理财务数据、“Python是更广泛又相当有弹性、所以大家会对它趋之若鹜、”O’Donnell如是说、然而、虽然它的优点能够弥补R的缺点、它仍然不是最高效能的语言、偶尔才能处理庞大规模、核心的基础建设、Driscoll是这么认为的


三、Julia

今日大多数的数据科学都是透过R、Python、Java、Matlab及SAS为主、但仍然存在着鸿沟要去弥补、而这个时候、新进者Julia看到了这个痛点、Julia仍太过于神秘而尚未被业界广泛的采用、但是当谈到它的潜力足以抢夺R和Python的宝座时、数据黑客也难以解释、原因在于Julia是个高阶、不可思议的快速和善于表达的语言、比起R要快的许多、比起Python又有潜力处理更具规模的数据、也很容易上手、“Julia会变的日渐重要、最终、在R和Python可以做的事情在Julia也可以”、Butler是这么认为的


就现在而言、若要说Julia发展会倒退的原因、大概就是它太年轻了、Julia的数据小区还在初始阶段、在它要能够和R或Python竞争前、它还需要更多的工具包和软件包、Driscoll说、它就是因为它年轻、才会有可能变成主流又有前景


四、Java

Driscoll说、Java和以Java为基础的架构、是由硅谷里最大的几家科技公司的核心所建立的、如果你从Twitter、Linkedin或是Facebook里观察、你会发现Java对于所有数据工程基础架构而言、是非常基础的语言、Java没有和R和Python一样好的可视化功能、它也不是统计建模的最佳工具、但是如果你需要建立一个庞大的系统、使用过去的原型、那Java通常会是你最基的选择


五、Hadoop and Hive

为了迎合大量数据处理的需求、以Java为基础的工具群兴起、Hadoop为处理一批批数据处理、发展以Java为基础的架构关键;相较于其他处理工具、Hadoop慢许多、但是无比的准确和可被后端数据库分析广泛使用、和Hive搭配的很好、Hive是基于查询的架构下、运作的相当好


六、Scala

又是另一个以Java为基础的语言、和Java很像、对任何想要进行大规模的机械学习或是建立高阶的算法、Scala会是逐渐兴起的工具、它是善于呈现且拥有建立可靠系统的能力、“Java像是用钢铁建造的;Scala则是让你能够把它拿进窑烤然后变成钢的黏土”Driscoll说


七、Kafka andStorm

说到当你需要快速的、实时的分析时、你会想到什么?Kafka将会是你的最佳伙伴、其实它已经出现五年有了、只是因为最近串流处理兴起才变的越来越流行、Kafka是从Linkedin内诞生的、是一个特别快速的查询讯息系统、Kafka的缺点呢?就是它太快了、因此在实时操作时它会犯错、有时候会漏掉东西


鱼与熊掌不可兼得、「必须要在准确度跟速度之间做一个选择」、Driscoll说、所以全部在硅谷的科技大公司都利用两个管道:用Kafka或Storm处理实时数据、接下来打开Hadoop处理一批批处理数据系统、这样听起来有点麻烦又会有些慢、但好处是、它非常非常精准、Storm是另一个从Scala写出来的架构、在硅谷逐渐大幅增加它在串流处理的受欢迎程度、被Twitter并购、这并不意外、因为Twitter对快速事件处理有极大的兴趣


八、Matlab

Matlab可以说是历久不衰、即使它标价很高;在非常特定的利基市场它使用的相当广泛、包括密集的研究机器学习、信号处理、图像辨识等等


九、Octave

Octave和Matlab很像、除了它是免费的之外、然而、在学术信号处理的圈子、几乎都会提到它


十、GO

GO是另一个逐渐兴起的新进者、从Google开发出来的、放宽点说、它是从C语言来的、并且在建立强大的基础架构上、渐渐地成为Java和Python的竞争者、这么多的软件可以使用、但我认为不见得每个都一定要会才行、知道你的目标和方向是什么、就选定一个最适合的工具使用吧!可以帮助你提升效率又达到精准的结果


若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新资讯、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


博文评论

  • 该博文还没有评论、赶快抢沙发吧...
DD记账
top
+