2014-09-30 53 views
1

我正在使用hadoop-2.2.0和hive-0.12。我跟着下面的步骤来尝试连接到蜂房Rstudio:R如何使用RJDBC连接到Hive?

library("DBI") 
library("rJava") 
library("RJDBC") 
for(l in list.files('/PATH/TO/hive/lib/')){ .jaddClassPath(paste("/PATH/TO/hive/lib/",l,sep=""))} 
for(l in list.files('/PATH/TO/hadoop/')){ .jaddClassPath(paste("/PATH/TO/hadoop/",l,sep=""))} 
options(java.parameters = "-Xmx8g") 
drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "/PATH/TO/hive/lib/hive-jdbc.jar") 
conn <- dbConnect(drv, "jdbc:hive2://HOST:PORT", USER, PASSWD) 

但我得到了以下错误:

Error in .jcall([email protected], "Ljava/sql/Connection;", "connect", as.character(url)[1], : 
    java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration 

任何提示,将不胜感激。

回答

1

问题解决了。

我加载了所有的jar包中的hadoop dir,然后我可以连接到Hive。

0

可以简单地连接使用RHIVE包

来自R到hiveserver2下面是我已经使用的命令。

Sys.setenv(HIVE_HOME="/usr/local/hive") Sys.setenv(HADOOP_HOME="/usr/local/hadoop") rhive.env(ALL=TRUE) rhive.init() rhive.connect("localhost")