1、安装RServe软件包(各个节点都要安装)

[root@Hadoop-NN-01 mysofts] # R CMD INSTALL Rserve_1.7-2.tar.gz

2、设置环境变量

[root@Hadoop-NN-01 ~]# vi /etc/profile
export R_HOME= /usr/local/lib64/R
export PATH=$PATH:$R_HOME/bin [root@Hadoop-NN-01 ~]# source /etc/profile #保存生效

3、创建Rserv.conf

$R_HOME的目录下创建Rserv.conf文件,写入``remote enable''保存并退出。

vi Rserv.conf
``remote enable''

4、拷贝文件

cp /root/mysofts/R-3.2.5/lib/* /usr/lib64/

5、所有节点启动Rserve

如果没有Rserve请先建立软链:

ln -s /usr/local/lib64/R/bin/Rserve /usr/bin/Rserve

启动:

Rserve --RS-conf /usr/local/lib64/R/Rserv.conf

验证:

telnet Hadoop-NN-01 6311    #显示 Rsrv0103QAP1 则表示连接成功
netstat -tunpl | grep 6311

6、RHive包的安装(各个节点都要安装,因此Hive也要各节点都要安装)

[root@Hadoop-NN-01 mysofts] # R CMD INSTALL RHive_2.0-0.2.tar.gz

创建目录

[root@Hadoop-NN-01 mysofts] # cd $R_HOME
[root@Hadoop-NN-01 mysofts] # mkdir -p rhive/data
[root@Hadoop-NN-01 mysofts] # chmod 777 -R rhive/data

配置环境变量

[root@Hadoop-NN-01 mysofts] # vi /etc/profile
export RHIVE_DATA=/usr/local/lib64/R/rhive/data

如果找不到hadoop命令,把下面加到~/.bashrc中

# hadoop cdh5
export HADOOP_HOME=/home/hadoopuser/hadoop-2.6.0-cdh5.6.0
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

使用hadoopuser创建hdfs目录

hadoop fs -mkdir /rhive
hadoop fs -mkdir /rhive/lib
hadoop fs -ls /rhive/lib

把jar包拷贝到相应的目录

hadoop fs -put /usr/local/lib64/R/library/RHive/java/rhive_udf.jar /rhive/lib

7、启动

hive客户端启(master、各slave均可)动hive远程服务(rhive是通过thrift连接hiveserver的,需要要启动后台thrift服务):

nohup hive --service hiveserver2 &   #注意这里是hiveserver2

8、RHive测试

1)rhive-api

从HIVE中获得表信息的函数,比如:

rhive.list.tables():获得表名列表,支持pattern参数(正则表达式),类似于HIVE的show table

rhive.desc.table(TableName):表的描述,相当于HIVE中的desc table。

rhive.exist.table(TableName):表是否存在

2)测试

> rhive.env()

3)简单应用

#R
>library(RHive)
>rhive.connect(host ='ip')
>d <- rhive.query('select * from emp limit 1000')
>class(d)
>m <- rhive.block.sample(data_sku, percent =0.0001, seed =0)
>rhive.close()

一般在系统中已经配置了host,因此可以直接rhive.connect()进行连接,记得最后要有rhive.close()操作。 通过HIVE查询语句,将HIVE中的目标数据加载至R环境下,返回的 d 是一个dataframe。

实际上,rhive.query的实际用途有很多,一般HIVE操作都可以使用,比如变更scheme等操作:

>rhive.query('use scheme1')
>rhive.query('show tables')
>rhive.query('drop table emp')

但需要注意的是,数据量较大的情况需要使用rhive.big.query,并设置memlimit参数。

将R中的对象通过构建表的方式存储到HIVE中需要使用:

rhive.write.table(dat, tablename ='usertable', sep =',')

而后使用join等HIVE语句获得相关建模数据。其实写到这儿,有需求的看官就应该明白了,这几项 RHive 的功能就足够 折腾些有趣的事情了。

可能出现的问题:

Exception in thread "main" java.sql.SQLException: Could not open client transport with JDBC Uri: jdbc:hive2://192.168.206.128:10000/default: java.net.ConnectException: Connection refused: connect

解决方法:

1. 检查hive server2是否启动:

netstat -anp | grep 10000

2. 检查conf/hive-site.xml 下的配置是否正确:

    <configuration>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>192.168.206.128</value>
</property>
</configuration>

CentOS6.5安装RHive的更多相关文章

  1. vmware Centos6.6安装64位

    Centos6.6安装64位 必须开启BIOS中的虚拟化技术 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可 ...

  2. Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】

    摘要: 拆腾了几天,终于在今天找到了快速安装Gitlab的方法.CentOS6.5安装gitlab-6.9.2 参考网址:https://gitlab.com/gitlab-org/omnibus-g ...

  3. CentOS6.5安装Tomcat

    安装说明 安装环境:CentOS-6.4 安装方式:源码安装 软件:apache-tomcat-7.0.56.tar.gz 下载地址:http://tomcat.apache.org/download ...

  4. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  5. centos6.5安装oracle11g_2

    centos7安装oracle数据库不成功,换成centos6.5安装,可以安装成功,记录一下 安装系统时,主机名如果不是用localhost,安装成功后,要用主机名和ip做映射,修改/etc/hos ...

  6. CentOS6.6安装vmware workstation报错

    本人系统用的是centos6.6,安装了vmware workstation,启动后一直如下图报错,相关内核已经安装了的,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.

  7. CentOS6.6安装virtualbox4.1.44

    本人用的是centos6.6,安装了virtualbox 4.1.44,启动后一直如上图报错,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.

  8. [转]CentOS-6.3安装配置cmake

    CentOS-6.3安装配置cmake   zhoulf 2013-02-03 原创 安装说明 安装环境:CentOS-6.3安装方式:源码编译安装 软件:cmake-2.8.10.2.tar.gz下 ...

  9. 实战CENTOS6.5安装docker并创建asp.net mvc 5 镜像,运行MVC 网站

    Docker,容器,让研发.测试.生产同一环境,可在linux平台上混合使用JAVA与net 程序 Centos6.5安装docker 参考http://my.oschina.net/kcw/blog ...

随机推荐

  1. 设计模式学习--Builder

    What Builder:将一个复杂的对象的构建和表示分离,使得同样的构建过程可以创建不同的表示. Why Builder也是创建型模式的一种,它是一步一步的向导式的创建一个复杂的对象,Builder ...

  2. Win10下安装MySQL5.6

    Win10下安装MySQL5.6 我分了两种下载安装的方式给大家看,注意数据库这个东西不在乎版本是不是最新,在乎的是够稳定,现在公司中常用的是mysql5.5和mysql5.6的版本,我现在就用mys ...

  3. [No0000FF]鸡蛋煮熟了蛋黄为什么发黑?

    你是否发现,鸡蛋煮熟后,蛋黄表面会呈现青黑色. 这是怎么回事? 这是因为鸡蛋的蛋白质富含有半胱氨酸,鸡蛋如果加热过度使半胱氨酸部分分解产生硫化氢,与蛋黄中的铁结合形成黑色的硫化铁.煮蛋中如果鸡蛋表面的 ...

  4. kafka集群扩容后的topic分区迁移

    https://www.cnblogs.com/honeybee/p/5691921.html kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的:它只有在创建 ...

  5. Xcode编辑器之基本使用(一)

    前言. 苹果原生xcode使用介绍文档 1.Xcode IDE概览 说明: 从左到右,依次是“导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码 ...

  6. Python不使用int()函数把字符串转换为数字

    Python不使用int()函数把字符串转换为数字 2018年05月21日 14:18:45 边缘ob边缘ob 阅读数:1035 https://blog.csdn.net/qq_33192555/a ...

  7. 制作STM32开发板要买的电子元器件

    1.STM32F103VET6芯片 2.电阻(10K.1.5K.1K.510R.47R.27R.0R) 3.电容(104.4.7uf.1uf.22uf.10pf.) 4.二极管(普通二极管D1206. ...

  8. 搭建Kubernetes服务集群遇到的问题

    kube-proxy问题: Apr 12 09:42:49 compute1 kube-proxy[12965]: E0412 09:42:49.602342 12965 reflector.go:2 ...

  9. 主备归档不一致导致的RMAN-08137无法清理归档解决方案

    值班夜里接到归档目录满的告警,执行删除脚本发现报错 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstr ...

  10. 20165317 学习基础和C语言基础调查

    学习基础和C语言基础调查 关于优势技能 说来惭愧,读书多年,爱好不少,但是真的能拿的出手的.能被叫做特长的不多.至今,能在同龄人中处于较领先位置的也只有从四年级开始练起的乒乓球.记得开始练习乒乓球是从 ...