CentOS6.5安装RHive
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的更多相关文章
- vmware Centos6.6安装64位
Centos6.6安装64位 必须开启BIOS中的虚拟化技术 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可 ...
- Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】
摘要: 拆腾了几天,终于在今天找到了快速安装Gitlab的方法.CentOS6.5安装gitlab-6.9.2 参考网址:https://gitlab.com/gitlab-org/omnibus-g ...
- CentOS6.5安装Tomcat
安装说明 安装环境:CentOS-6.4 安装方式:源码安装 软件:apache-tomcat-7.0.56.tar.gz 下载地址:http://tomcat.apache.org/download ...
- Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...
- centos6.5安装oracle11g_2
centos7安装oracle数据库不成功,换成centos6.5安装,可以安装成功,记录一下 安装系统时,主机名如果不是用localhost,安装成功后,要用主机名和ip做映射,修改/etc/hos ...
- CentOS6.6安装vmware workstation报错
本人系统用的是centos6.6,安装了vmware workstation,启动后一直如下图报错,相关内核已经安装了的,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.
- CentOS6.6安装virtualbox4.1.44
本人用的是centos6.6,安装了virtualbox 4.1.44,启动后一直如上图报错,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.
- [转]CentOS-6.3安装配置cmake
CentOS-6.3安装配置cmake zhoulf 2013-02-03 原创 安装说明 安装环境:CentOS-6.3安装方式:源码编译安装 软件:cmake-2.8.10.2.tar.gz下 ...
- 实战CENTOS6.5安装docker并创建asp.net mvc 5 镜像,运行MVC 网站
Docker,容器,让研发.测试.生产同一环境,可在linux平台上混合使用JAVA与net 程序 Centos6.5安装docker 参考http://my.oschina.net/kcw/blog ...
随机推荐
- 浏览器下载Excel,直接打开显示乱码...
情景: 浏览器中点击下载文件有两个选项:[打开][下载] [打开]之后,提示["文件.xlsx"的文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是 ...
- .net core中使用Type.GetType()从字符串获取类型遇到的问题
问题背景是想在 appsettings.json 中动态配置依赖注入,依赖注入代码如下: services.AddSingleton(typeof(ISmsService), Type.GetType ...
- Html吸顶效果
Html吸顶效果 一.HTML HTML中需要给div一个id <!DOCTYPE html> <html lang="en"> <head> ...
- winform 科学计数法转为小数
先强制转换为decimal. 例如: double xyTolerance = 0.000000008983001; txtXYTolerance.Text = ((decimal)xyToleran ...
- GIS软件相关安装(持续更新)
软件安装是GIS专业的必修课,总会忘记步骤,在此汇总 1.oracle ①无法登录 管理员登录 sqlplus sys/密码 as sysdba https://www.linuxidc.com/li ...
- ionic使用cordova插件中的Screenshot截图分享功能
需要实现操作,考试完成后需要将成绩生成一张图片,分享出去, import { Screenshot } from '@ionic-native/screenshot'; constructor(pri ...
- cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX
cocoapod引入FLEX,debug模式正常,Release报错library not found for -lXXX, 因为podfile是这么写的: pod 'FLEX', '~> 2. ...
- 转:jdk动态代理实现
原文链接: jdk动态代理 注:文章中用常用的流程实现 动态代理,流程逻辑比较清晰.文章后面对 “为什么要使用接口” 原理分析还未细看. jdk的动态代理为什么用接口,内部是什么原理呢?看了几篇文章貌 ...
- 转:SAX解析的characters方法被多次调用
原文地址:https://blog.csdn.net/liuxiaoddd/article/details/28885177 android SAX解析的characters方法被多次调用 同理 试用 ...
- http请求的基本介绍
响应码 1xx:接收到请求并且继续处理 ,这个是一瞬间的状态,一般不关注 2xx:请求已被接收,理解,处理,表示正确 3xx:请求重定向 4xx:客户请求语法错误或者请求资源不存在,这个是客户端错误 ...