首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RHive包进行r到Hive连接

使用RHive包进行r到Hive连接
EN

Stack Overflow用户
提问于 2012-12-13 08:55:19
回答 3查看 10.3K关注 0票数 2

我在Windows上安装了R2.15.2。Hadoop & Hive在另一台PC上。我将RHive及其依赖项加载到R中,现在我正在尝试连接到Hive。

代码语言:javascript
复制
> Sys.setenv(HIVE_HOME="/home/hadoop/hive-0.7.0-cdh3u0")
> Sys.setenv(HADOOP_HOME="/home/hadoop/hadoop-0.20.2-cdh3u0")
> library(RHive)
> rhive.env(ALL=TRUE)

蜂窝家庭目录: / Home /hadoop/ Hive -0.7.0-cdh3u0 Hadoop家庭目录: / Home /hadoop/hive-0.7.0-cdh3u0 Hadoop Conf目录: 无RServe 断开连接的HiveServer和HDFS RHive库列表 C:/Program Files/R/R-2.15.2/library/RHive/java/rhive_udf.jar /home/hadoop/hive-0.7.0-cdh3u0/conf

代码语言:javascript
复制
> rhive.init()

1“没有HADOOP.的从文件,所以在调用rhive.connect()时应该传递主机参数。 .jnew中的错误(“org/apache/hadoop/conf/ java.lang.ClassNotFoundException”):java.lang.ClassNotFoundException 此外:警告信息: 在文件(文件,"rt")中:无法打开文件'/home/hadoop/hadoop-0.20.2-cdh3u0/conf/slaves':没有这样的文件或目录

代码语言:javascript
复制
> rhive.connect(hdfsurl="hdfs://212.63.135.149:9000/")

.jnew中的错误(“org/apache/hadoop/conf/ java.lang.ClassNotFoundException”):java.lang.ClassNotFoundException

结果是连接错误!

甚至尝试过rhive.connect(host = "212.63.135.149", port = 10000, hdfsurl="hdfs://212.63.135.149:9000/"),但没有用。

EN

回答 3

Stack Overflow用户

发布于 2012-12-13 09:28:40

几周前,我在安装RHive时也遇到了同样的问题。这是因为一些jar文件不在rhive.init设置的类路径中。您需要设置参数hive、lib、hadoop_home、hadoop_conf、hlib,这些参数指示这些jar文件的位置。

我最初是从源代码安装的,它与rhive.init一起工作,但是rhive.connect没有正常工作。当我通过Cloudera管理器https://ccp.cloudera.com/display/CDH4DOC/Hive+Installation安装Hive时,它确实很有魅力。因此,我建议你遵循指示,这是很好的文件。

票数 1
EN

Stack Overflow用户

发布于 2013-05-05 09:28:55

可能是因为你使用了错误的Hadoop版本。

RHive不适用于纱线,然后使用hadoop-0.20.205.0或更早版本。

票数 1
EN

Stack Overflow用户

发布于 2013-06-10 16:04:36

我修复了rhive_udf.jar类路径(构建后在RHive源目录中找到)

代码语言:javascript
复制
mkdir –p /usr/lib64/R/library/RHive/java
cp rhive_udf.jar //usr/lib64/R/library/RHive/java
chmod 755 /usr/lib64/R/library/RHive/java/rhive_udf.jar
R
> library("rJava")
> .jinit()
> .jaddClassPath("/usr/lib64/R/library/RHive/java/rhive_udf.jar")

然后用以下方法测试新添加的类路径:

代码语言:javascript
复制
> .jclassPath()

您应该在列表中看到'/usr/lib64/R/library/RHive/java/rhive_udf.jar‘!

然后重新启动R-给你!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13856185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档