RHadoop应用(1)

使用RHadoop结合hdfs存储R语言输入数据

1 R语言是著名的开源统计分析和绘图语言,但限于功能,只能进行单机存储数据和计算,通过hadoop的功能可以存储更多的数据和并行计算。

Rhadoop包括rhdfs、rmr2、rhbase等R语言插件,rhdfs插件可以加载hdfs文件系统,rmr2可以使用mapreduce做并行计算。

这里先使用rhdfs来简单介绍下r语言怎样读取较大的文件

2 首先安装rhdfs插件,由于R语言要调用java 因此需要安装rjava插件

install.packages("rJava")

其他插件需要时也可以安装,这里将后续需要的插件一起安装

install.packages("reshape2")

install.packages("Rcpp")

install.packages("iterators")

install.packages("itertools")

install.packages("digest")

install.packages("RJSONIO")

install.packages(“functional")

3 还需要配置好java的环境变量,这里以我测试环境为例,请根据实际情况修改

写入/home/hadoop/.bashrc

export JAVA_HOME=/jdk

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export HADOOP_HOME=/home/hadoop/hadoop

export HADOOP_BIN=$HADOOP_HOME/bin

export HADOOP_SBIN=$HADOOP_HOME/sbin

export PATH=$PATH:$HADOOP_BIN:$HADOOP_SBIN

export HADOOP_CMD=$HADOOP_HOME/bin/hadoop

export HADOOP_STREAMING=$HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.6.0.jar

4 之后下载最新版本的rhdfs插件包到本地

https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads

5 在本地安装rhdfs并加载

bash-3.2$ R CMD INSTALL /root/rhdfs_1.0.8.tar

6 好了,我们来构造一些简单数据测试吧

bash> seq 1 100 > average_100.txt

bash> hadoop dfs -mkdir /tmp

bash> hadoop dfs -copyFromLocal average_100.txt /tmp

7 在R语言环境中,执行下面的命令

library(rhdfs)

hdfs.init()

hdfs.cat("/tmp/average_100.txt")

[1] "0" "1" "2" .... "100"

8 通过简单的插件就可以进行统计和计算了,如计算平均值

mean(as.numerica(hdfs.cat("/tmp/average_100.txt")))

原文发布于微信公众号 - 奇点(qddata)

原文发表时间:2015-12-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

Nginx 反向代理学习及实例笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

5742
来自专栏个人分享

项目中Zookeeper配置参数笔记

ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个prop...

1173
来自专栏后端技术探索

nginx常见面试题

Nginx的并发能力在同类型网页服务器中的表现,相对而言是比较好的,因此受到了很多企业的青睐,我国使用Nginx网站的知名用户包括腾讯、淘宝、百度、京东、新浪、...

1562
来自专栏云计算教程系列

如何在Ubuntu 18.04上使用devtools安装R包

R是一种流行的开源编程语言,专门研究统计计算和图形。它广泛用于开发统计软件和执行数据分析。R社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域...

2680
来自专栏维C果糖

详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制

在我们用 IntelliJ IDEA 向 SVN 或者 Git 提交代码的时候,IntelliJ IDEA 提供了一个自动分析代码的功能,即Perform co...

2545
来自专栏北京马哥教育

自学Linux命令的四种方法

如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 一,每日提示 ? 学习Linux命令的一种渐进式方...

3099
来自专栏耕耘实录

Linux修改密码是提示“passwd: 鉴定令牌操作错误”问题的处理办法

今早忽然想修改一下一个普通用户的密码,root登录进去之后键入修改密码命令之后发现提示“passwd: 鉴定令牌操作错误”。

3142
来自专栏java技术学习之道

10大必备的Intellij插件,大幅提高你的工作效率

3743
来自专栏灯塔大数据

每周学点大数据 | No.60磁盘算法实践

NO.60 磁盘算法实践 Mr. 王:前面讨论了很多理论方面的内容,从今天开始,我们研究如何从实践的角度去进行磁盘算法、并行算法和众包算法的设计。 小可:嗯,...

36611
来自专栏企鹅号快讯

如何通过Smem命令行检查Ubuntu上的内存使用情况

如何检查Ubuntu Linux上的内存使用情况,我们可以安装并使用Smem内存报告工具来显示Ubutnu Linux系统上的内存使用情况。 Smem是一个命令...

2398

扫码关注云+社区

领取腾讯云代金券