R语言与大数据.doc

R语言与大数据.doc

ID:55632178

大小:19.00 KB

页数:4页

时间:2020-05-21

R语言与大数据.doc_第1页
R语言与大数据.doc_第2页
R语言与大数据.doc_第3页
R语言与大数据.doc_第4页
资源描述:

《R语言与大数据.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、R语言与大数据在数据分析方面,R拥有一系列连贯而又完整的数据分析中间工具,图形统计可以对图形直接进行分析和显示,并且有非常丰富的程序包,可以大大提高工作效率。R在以下三个方面有很大的优势:数据处理,统计和数据可视化。Google主要使用R进行数据探索和构建模型原型,其主要流程为:1.使用其他工具提取数据2.将数据加载到R中3.使用R软件进行建模分析4.在生产环境中使用c或者python实现结果模型在使用R的过程中,因为R的工作区是RAM,因此大小是受到限制的,主要有以下三个方法来解决这个问题:1.使用R的数据库连接功能(例如RMySQL),对数据进行切片处理2.抽样处理数据3.在独立的服务

2、器或者云计算环境下运行RR可以与其他工具和语言进行交互,包括matlab,SAS,excel等,另外还提供了与Python和java的接口包(Rpy和RJava)。R语言并行处理R语言在2.14版本以后内置了parallel包,强化了R的并行计算能力。该包整合了之前比较成熟的snow包和multicore包,其中multicore包不能在windows环境下运行。Parallel包可以很容易在计算集群上实施并行计算,在具有多个cpu核心的单机上,也能发挥并行计算的功能。Parallel包的思路是将输入数据进行分割、计算、整合结果,其中的并行计算是通过使用不同的cpu来运算。在paralle

3、l包中有两个核心函数parlapply(cl,x,Fun,…)和mclapply(x,Fun,…,mc.cores),其中parLapply是针对函数lapply的优化,而mclapply在windows环境下不能使用。例子:1.不使用并行计算,直接使用lapply函数,对函数f=x+1做500万次,计算时间>fun<-function(x){return(x+1)}>system.time({res<-lapply(1:,fun)})用户系统流逝17.140.1417.292.使用parallel包进行并行计算采用4核进行并行计算:>cl<-makeCluster(getOption("

4、cl.cores",4))>system.time({res<-parLapply(cl,1:,fun)})用户系统流逝10.500.4116.88采用3核进行并行计算:>cl<-makeCluster(getOption("cl.cores",3))>system.time({res<-parLapply(cl,1:,fun)})用户系统流逝2.780.1111.08采用2核进行计算:>cl<-makeCluster(getOption("cl.cores",2))>system.time({res<-parLapply(cl,1:,fun)})用户系统流逝1.640.2712.25从上

5、述例子可以看出,在处理大数据集问题时,并行计算可以加速计算过程。但是在R中并非使用的CPU核越多越好,在上例中,采用3核计算得到的结果最好,而2核次之,4核的计算和单核计算差别不大。Hadoop与R语言Hadoop让大数据的处理成为了可能,而R语言的强大之处在于在有Hadoop以前,我们队大数据的处理都是取样本,假设检验,做回归等。可以看出,Hadoop的优势在于全量数据分析,而R语言的重点是样本数据分析。而mahout同样可以做数据挖掘和机器学习,但是mahout是基于Hadoop框架的,其重点同样是解决大数据的计算问题,目前mahout已经支持的算法包括聚类算法、分类算法、LDA、ba

6、yes以及协同过滤等算法,其中大部分都是距离的算法,能够充分利用mapreduce的并行计算框架高效地完成计算任务。但是许多数据挖掘算法很难实现mapreduce并行化,而R语言也提供了mahout支持的许多算法,并且还支持大量的mahout不支持的算法,并且对小型数据集运算速度非常快。目前,将R语言与大数据处理平台进行结合主要有两种方式。第一种方法是在Hadoop上将TB甚至PB级的数据利用mapreduce处理之后,将其数据容量缩小到GB数量级,再加载到R中进行处理。第二种方法是直接利用支持Hadoop的R包,在R中操作存放在HDFS中的数据,并利用R语言完成mapreduce算法,用

7、来替代java的mapreduce实现,可以说RHadoop包赋予了R语言更强大的能力来处理高达TB乃至PB级的数据。基于分布式的Hadoop在数据存储过程有一定的优势,然后直接运用R语言的RJDBC包链接Hive传递SQL进行数据查询导入,得到的数据在R语言里面进行数据预处理和算法建模过程,再把分析模型的结果集导出。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。