- 导读:R现在还可以运行在HBase这种非关系型的数据库以及面向列的分布式数据存储之上。其主要模仿了Google的BigTable。这基本上等同于使用Hadoop来持有结构化数据的数据库。就像Apache软件基金会Hadoop项目的子项目HBase一样。
维基百科指出,R语言是主要用于统计分析、绘图的语言和操作环境。R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发。(也因此称为R)现在由“R开发核心团队”负责开发。R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用 S语言编写的代码都可以不作修改的在R环境下运行。R的语法是来自Scheme。
R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。R主要是以命令行操作,同时有人开发了几种图形用户界面。
R作为开源的数据统计分析语言正潜移默化的在企业中扩大自己的影响力。特有的扩展插件可提供免费扩展,并且允许R语言引擎运行在Hadoop集群之上。
众所周知,Google开创了MapReduce,MapReduce是处理存储在存储区的非结构化数据的先驱。虽然Google不允许MapReduce被外部使用,但由于Google曾拿出MapReduce一部分相关信息与Nutch分享,以开发开源版本的Hadoop。结果Nutch被Yahoo收购,所以Yahoo也推出了Apache Hadoop项目。
MapReduce的工作原理是将非结构化数据打碎并分布到服务器的各个节点。MapReduce将并行化、容错、数据分布、负载均衡等放在库中,而将系统对数据的所有操作都归结为两个步骤,通过Map和Reduce两步来实现在大规模计算节点中人物的调度与分配。
R语言与Hadoop结合
现在,统计工作者可利用R语言,R语言擅长在Hadoop分布式文件系统中存储的非结构化数据的分析。R现在还可以运行在HBase这种非关系型的数据库以及面向列的分布式数据存储之上。其主要模仿了Google的BigTable。这基本上等同于使用Hadoop来持有结构化数据的数据库。就像Apache软件基金会Hadoop项目的子项目HBase一样。
Revolution Analytics公司提供对开源R语言的商用软件扩充以及支援,这使得让统计分析师及科学家能够在短暂的时间内从大量的重要资料中发现有意义的资讯。Revolution Analytics公司首席技术官David Champagne表示R引擎可部署在Hadoop集群中的每个节点上面。你可以在部署了R的工作组中设置R算法,而不是在Java编程中减少算法。它可解析Hadoop映射函数的节点,同时可并行的统计分析存储在HDFS的数据。
如果不使用MapReduce,然后提取数据并将数据返回给分析数据的工作组。但不要忘记你还需要消化集群中的数据,同时还要聚合它们。从本质说,R是使用Hadoop的一个网格控制器,其管理特定算法的运行并控制运行的数据。
R语言为企业提供更多商机
本周,Revolution Analytics与Cloudera成为新的合作伙伴。并宣布将Cloudera Distribution Apache Hadoop(CDH3)集成到Revolution Analytics的R企业平台上。新产品被称为“RevoConnectR for Apache Hadoop”。
其实Oracle早在去年就增加了对开源R语言的支持,据Oracle官方透露他们将在数据挖掘软件接口中更多使用R语言进行数据的统计与分析。同时一些主流的数据分析和数据库厂商,如IBM、SAS也都已经开始支持R语言。
相关的R语言图形用户界面也应用而生,其可帮助初学者快速进入R语言环境。包括:集成开发环境RStudio、Gnome环境下的R语言数据挖据工具Rattle、图形编程界面Red-R、Deducer等。
现在,R与Hadoop的连接器已经可以在GitHub下载。(编译 李智)