R語言和大數據
安裝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 -ysudo yum install gcc-gfortran gcc gcc-c++ readline-devel libXt-devel -ywget --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-tcltksudo 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.rpmrpm -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)如下圖????最新進展
R還是把數據load到本地進行計算的,這樣的方式在大數據時代多少顯得落伍。目前R和hadoop結合的有rhadoop、rhive、rhbase、sparkr等等,rhive和rodps採用的方法是類似的,用lib結合介面進行訪問。比較徹底的是sparkR,在api和運行時做了修改。使用R或Python的DataFrame API能獲得和Scala近乎相同的性能。
調用MaxCompute數據方面,可以先把語言轉換為SQL腳本在調用。
本來選自阿里雲大數據產品專家「隱林」,擅長MaxCompute、機器學習、分散式、可視化、人工智慧等大數據領域。推薦閱讀:
※用Apache Spark進行大數據處理——第一部分:入門介紹
※大數據(big data):基礎概念
※G20遐想:馬雲、李彥宏、孫丕恕等大咖們的數據觀
※除了對付姜你軍、蒜你狠?!天元數據網農業數據能做的更多
※美國現代藝術博物館的軟數據:111件服裝展品的前世今生
TAG:大數據 |