R语言和大数据-阿里云开发者社区

开发者社区> 阿里巴巴大数据计算> 正文

R语言和大数据

简介: 分布式的R

MaxCompute产品地址:https://www.aliyun.com/product/odps

安装R语言

R3.3版本会出现各种so不存在的问题,退回去到R3.1版本时候就顺利安装。
在安装R环境之前,先安装好中文(如果没有的话图表中显示汉字成框框了)和tcl/tk包(少了这个没法安装sqldf)
sudo yum install fonts-chinese tcl tcl-devel tclx tk tk-devel -y
安装中文字体后重新加载 service xfs reload (不过在有台机器上总是失败,后来重启机器OK)
sudo service xfs reload
有些包会需要rgl,调用opengl的库,所以还要安装opengl包
sudo yum install mesa-libGLU mesa-libGLU-devel -y
sudo yum install gcc-gfortran gcc gcc-c++ readline-devel libXt-devel -y

wget --no-check-certificate https://stat.ethz.ch/CRAN/src/base/R-3/R-3.1.0.tar.gz
tar xvf R-3.1.0.tar.gz
./configure --enable-R-shlib=yes --enable-BLAS-shlib=yes --with-lapack --with-libpng --with-x=no --with-tcltk
sudo sh -c "make"
sudo sh -c "make install"

sudo R CMD javareconf JAVA_HOME=$JAVA_HOME
进入到r中进行
install.packages('rJava')
选择22

安装DBI
install.packages("DBI")
选择22

安装RSQLite
install.packages("RSQLite")
选择22

配置 odps_config.ini 

 project_name=myproject

 access_id=<这里输入Access ID,不带尖括号>

 access_key=<这里输入Access Key,不带尖括号>

 end_point=http://service.odps.aliyun-inc.com/api

验证
Sys.getenv('RODPS_CONFIG');
最后安装RODPS包
install.packages('RODPS',repos='http://odps.alibaba.com/rodps')

安装RStudio

R装在工作的笔记本电脑上,由于内存的限制,只能用于一些很小的数据集的分析,所以更好的方式是,在Linux上配置一个R加rstudio-server,然后可以通过web直接访问R的功能。

下载rstudio-server的rpm包安装即可
wget http://download2.rstudio.org/rstudio-server-0.97.551-x86_64.rpm
rpm -ivh --nodeps rstudio-server-0.97.551-x86_64.rpm
启动命令

坑爹的是启动失败并没有任何错误提示,在/var/log/messages找到错误信息
安装时如果提示缺少libR.so;使用make unsintall卸载,然后重新安装一次R,指定了enable-R-shlib以后就不再报错。
启动正常以后ps aux能够看到/usr/lib/rstudio-server/bin/rserver 
就说明已经启动了

配置文件位于/etc/rstudio/rserver.conf
www-port=80,80是默认的http服务端口号。
rsession-ld-library-path=/opt/local/lib:/opt/local/someapp/lib 指定额外的库地址
rsession-which-r=/usr/local/bin/R 指定R软件位置
auth-required-user-group=rstudio_users 限制可登陆R用户
rsession-memory-limit-mb=4000 限制使用的最大内存
rsession-stack-limit-mb=10 限制最大的栈大小
rsession-process-limit=100 限制最多进程数
session-timeout-minutes=30 进程超时时间
r-libs-user=~/R/packages 设置默认的R包 
limit-file-upload-size-mb=100 设置最大的上传文件大小
r-cran-repos=http://cran.case.edu/ 设置默认的CRAN

登陆访问

打开localhost测试地址;

此外,还需要设置环境变量才可以访问,使用下面命令设置当前session的环境变量
Sys.setenv(RODPS_CONFIG ="odps_config.ini")
library('RODPS_CONFIG')
如下图
screenshot

最新进展

R还是把数据load到本地进行计算的,这样的方式在大数据时代多少显得落伍。目前R和hadoop结合的有rhadoop、rhive、rhbase、sparkr等等,rhive和rodps采用的方法是类似的,用lib结合接口进行访问。比较彻底的是sparkR,在api和运行时做了修改。使用R或Python的DataFrame API能获得和Scala近乎相同的性能。

调用MaxCompute数据方面,可以先把语言转换为SQL脚本在调用。

文章转自xiamingchao

欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

96e17df884ab556dc002c912fa736ef6558cbb51

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里巴巴大数据计算
使用钉钉扫一扫加入圈子
+ 订阅

阿里大数据官方技术圈

官方博客
链接