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 -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
#安装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
#登陆访问
能够打开http://hostip:8787/页面了
此时需要输入登陆账户和密码,账户就是这个机器的域账户名称,密码是机器密码。如果没有的话,申请这个机器的权限就可以获得。
此外,还需要设置环境变量才可以访问,使用下面命令设置当前session的环境变量
Sys.setenv(SHELL ="/bin/bash")
#最新进展
R还是把数据load到本地进行计算的,这样的方式在大数据时代多少显得落伍。目前R和hadoop结合的有rhadoop、rhive、rhbase、sparkr等等,rhive和rodps采用的方法是类似的,用lib结合接口进行访问。比较彻底的是sparkR,在api和运行时做了修改。使用R或Python的DataFrame API能获得和Scala近乎相同的性能。
R语言和大数据的更多相关文章
- R语言实现金融数据的时间序列分析及建模
R语言实现金融数据的时间序列分析及建模 一 移动平均 移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...
- [译]用R语言做挖掘数据《二》
数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark实战高手之路】
Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交 ...
- R语言分析朝阳医院数据
R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...
- R语言处理Web数据
R语言处理Web数据 许多网站提供的数据,以供其用户的消费.例如,世界卫生组织(WHO)提供的CSV,TXT和XML文件的形式的健康和医疗信息报告.基于R程序,我们可以通过编程提取这些网站的具体数据. ...
- R You Ready?——大数据时代下优雅、卓越的统计分析及绘图环境
作者按:本文根据去年11月份CSDN举办的“大数据技术大会”演讲材料整理,最初发表于2012年2月期<程序员>杂志. 0 R 的安装
- R语言︱处理缺失数据&&异常值检验、离群点分析、异常值处理
在数据挖掘的过程中,数据预处理占到了整个过程的60% 脏数据:指一般不符合要求,以及不能直接进行相应分析的数据 脏数据包括:缺失值.异常值.不一致的值.重复数据及含有特殊符号(如#.¥.*)的数据 数 ...
- [译]用R语言做挖掘数据《七》
时间序列与数据挖掘 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用 ...
- R语言XML格式数据导入与处理
数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...
随机推荐
- skip-character-set-client-handshake 与 character-set-client-handshake
my.cnf [mysql] default-character-set = gbk [mysqld] skip-character-set-client-handshake=1 跳过mysql程序起 ...
- Javascript中那些偏门的知识
1.(functiong(){})() 和 (function(){}())有细微差别,()是强制运算符,第一种写法强制返回函数本身,然后调用:第二种写法是强制返回函数执行的结果. 2.json格式 ...
- C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空
今天在做一个Excel导入功能,一切开发就绪,数据可以成功导入.导入后检查数据库发现有一列既有汉字又有数字,数字正常导入,汉字为空.但是前面同样既有汉字又有数字的列可以导入成功. 查看excel 源文 ...
- ClientKey实现登录QQ空间,并设置背景音乐
ClientKey大家都知道的,通过webbrowser登录后取得Cookie并计算出GTK,即可操作空间的POST. 源代码中引用了苏飞的Http类库,自己修改添加了一些拓展方法. 下载地址:htt ...
- Java基础知识强化之IO流笔记65:序列化流 和 反序列化流
1. 什么是 序列化 和 反序列化 ? 序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对 ...
- CSS3 动态魔方的展示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python中HTMLParser简单理解
找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间.名称和地 ...
- swift 如何使用OC中宏的功能
swift中没有宏的概念,那么我们在swift使用宏的功能来提高效率呢? 一.使用关键字 let 来声明一个常量 存储相应的值,以下代码声明了常量 myColor 来存储一种指定的颜色 let my ...
- c++与c不太相同的一些地方2
1.一般全局变量放到cpp 文件里面,而不是.h 里面.要不然容易乱套,这个乱几次就好了,先记住这样一种编码规范. 以为大家都引入就比较麻烦,但是实现起来就只有cpp里面才有.毕竟.h是要被包含的文件 ...
- 关于post请求参数的大小限制的说明
最近做一个上传图片的项目,前端使用jquery 的post提交,然后把上传的图片的base64码 传到后台,发现几KB或者几十KB的图片,都可以传到后台,但是在上传几M 的图片在后台接收的时候,发现传 ...