r如何使用rjdbc连接到hive?

c9qzyr3d  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(389)

我正在使用hadoop-2.2.0和hive-0.12。我按照以下步骤尝试连接到rstudio中的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(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1],  : 
  java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration

任何提示都将不胜感激。

u4vypkhs

u4vypkhs1#

您只需使用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")
gcuhipw9

gcuhipw92#

问题解决了。
我将所有jar包加载到hadoop目录中,然后可以连接到hive。

相关问题