什么是RHadoop:为什么要让Hadoop结合R语言
RHadoop是运行R语言的Hadoop分布式计算平台的简称,该平台由RevolutionAnalytics公司开发,并将代码开源到github社区上面。有了RHadoop可以让广大的R语言爱好者,有更强大的工具处理大数据。
R的3个包rmr、rhdfs和rhbase(分别是对应Hadoop系统架构中的MapReduce、HDFS和HBase)实现R对Hadoop各个组件的调用,从而将R与Hadoop平台结合,充分整合了R和Hadoop各自的优势。将R丰富的算法模型赋予分布式并行计算能力。
为什么要让Hadoop结合R语言
Hadoop家族的强大之处在于对大数据的处理,让原来的不可能(TB、PB数据量计算)成为可能。所以Hadoop重点是海量数据分析。
R语言的强大之处在于统计分析。在没有Hadoop之前,我们对于大数据的处理过程是数据抽样,假设检验,做回归。
可以看出,两种技术放在一起,刚好是取长补短。
模拟场景:对1PB的新闻网站访问日志做分析,预测未来流量变化。
第1步:用R语言,通过分析少量数据,对业务目标进行回归建模,并定义指标。
第2步:用Hadoop从海量日志数据中,提取指标数据。
第3步:用R语言模型,对指标数据进行测试和调优。
第4步:用Hadoop分布式算法,重写R语言的模型,部署上线。
在这个场景中,R和Hadoop分别都起着非常重要的作用。以计算机开发人员的思路,所有事情都用Hadoop去做,没有数据建模和证明,预测的结果一定是有问题的。以统计人员的思路,所有的事情都用R去做,以抽样方式,得到的预测结果也一定是有问题的。
所以二者结合是产业界的必然导向,也是产业界和学术界的交集。