ODPS结合R进行大数据分析环境搭建

一、简介
R语言的弱点在于不能操作海量的数据,ODPS是阿里云大数据平台,通过SQL语句处理TB级、PB级数据毫无压力。

ODPS的存储基础是表,与R的数据框对应,都是结构化的数据,因此可以很好衔接。

一般情况下,用R进行海量数据分析的工作流程是:首先用SQL从大表里统计得到小表,然后将小表加载到R的数据框里。

二、安装过程
安装前注意事项:
• R 3.3版本会出现各种so不存在的问题,退回去到R 3.1版本时候就顺利安装。
• 不要把R安装到 C:\Program Files 这种敏感目录,会有各种杀软、windows 实时保护之类的东西防止在里面做动作,导致 R package 的安装脚本没执行到位。

1、下载R并安装
路径:C:\R
版本:3.1.3
安装过程中选择本机合适的程序,例如32位系统选择R i386 64位选择R x64。因为安装机是64位,打开快捷方式R x64 3.1.3执行下面步骤4~8安装依赖包的步骤。

2、下载RStudio并安装
路径:C:\RStudio\bin\rstudio.exe
版本:RStudio-1.0.136.exe
安装完成后,生成桌面快捷方式,后续用。

3、下载JDK并安装
路径:C:\Program Files\Java
版本:JDK1.7
设置环境变量。

4、R x64 GUI中安装依赖包rJava
命令:install.packages('rJava')
执行结果:

ODPS结合R进行大数据分析环境搭建_第1张图片

5、R x64 GUI中安装依赖包DBI
命令:install.packages('DBI')
执行结果:

ODPS结合R进行大数据分析环境搭建_第2张图片

6、R x64 GUI中安装依赖包RSQLite
命令:install.packages('RSQLite')
执行结果:

ODPS结合R进行大数据分析环境搭建_第3张图片

7、R x64 GUI中,验证依赖包已成功安装
操作:点击菜单程序包 - 加载程序包,可以看到目前程序包的安装情况:

ODPS结合R进行大数据分析环境搭建_第4张图片

8、配置RODPS_CONFIG环境变量
配置文件路径:C:\R\R-3.1.3\library\odps_config.ini
文件具体配置项:
project_name=
access_id=
access_key=
end_point=
log_view_host=

设置为系统环境变量:RODPS_CONFIG=C:\R\R-3.1.3\library\odps_config.ini

ODPS结合R进行大数据分析环境搭建_第5张图片

RGui中验证是否按照成功:Sys.getenv('RODPS_CONFIG');会输出当前RODPS_CONFIG的路径。如果不配置RODPS_CONFIG,会如下图报错:

ODPS结合R进行大数据分析环境搭建_第6张图片

9、R x64 GUI中,安装RODPS
RODPS能够提供一个桥接的方式,使得可以在R语言环境中无缝的使用MaxCompute(原ODPS)里面的数据、计算资源,类似于开源社区的RHive和Rhadoop的功能。
命令:install.packages("http://repo.aliyun.com/download/RODPS.tar.gz", repos=NULL)
执行结果:可能会报错,报错信息如下图。

ODPS结合R进行大数据分析环境搭建_第7张图片

解决方案:
Step 1:更换镜像:修改安装的CARN镜像,china beijing和其它都试试;
Step 2:右键以管理员方式运行:以管理员方式运行R;
Step 3:命令改为:install.packages('http://repo.aliyun.com/download/RODPS.tar.gz', repos=NULL, type='source')指定type,就不会使用默认的uzip解压方式了

   安装成功如图所示:
ODPS结合R进行大数据分析环境搭建_第8张图片

10、验证R中使用ODPS的基本功能
命令:library(RODPS),无报错信息,说明安装成功

命令:rodps.version(),查看RODPS版本 -

执行脚本:

library("RODPS") # Load RODPS

tbl1 <- rodps.table.read("tbl1") # read dataframe from ODPS
d <- head(tbl1)

rodps.sql('create table test_table(id bigint);') # execute sql

names(iris) <- gsub("\.","_",names(iris)) # rename columns
rodps.table.write(iris, 'iris') # write dataframe to ODPS

rodps.table.sample.srs('tbl1','small_tbl1', 100 ) # sampling by raw

rodps.table.hist(tblname='iris', colname='species', col=rainbow(10), freq=F) # create a histogram

library(rpart)
fit <- rpart(Species~., data=iris)
rodps.predict.rpart(fit, srctbl='iris',tgttbl='iris_p') # modeling

附录
安装参考:RODPS的介绍:https://yq.aliyun.com/articles/61827?spm=5176.100240.searchblog.161.J8wk5p
安装参考:R语言和大数据:https://yq.aliyun.com/articles/60858?spm=5176.100240.searchblog.60.7P3XJm
安装参考:R数据分析进阶之RODPS:http://blog.sina.com.cn/s/blog_6fb7db430102vwmn.html
安装参考:RODPS安装配置教程:http://blog.sina.com.cn/s/blog_6912c2c60102wn77.html
使用参考:Github上aliyun/aliyun-odps-r-plugin:https://github.com/aliyun/aliyun-odps-r-plugin

此文结束~

你可能感兴趣的:(ODPS结合R进行大数据分析环境搭建)