【问题标题】:How could R use RJDBC to connect to Hive?R 如何使用 RJDBC 连接到 Hive?
【发布时间】:2014-09-30 03:55:17
【问题描述】:

我正在使用 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

任何提示将不胜感激。

【问题讨论】:

    标签: r hadoop hive rjdbc


    【解决方案1】:

    问题解决了。

    我在 hadoop 目录中加载所有 jar 包,然后我可以连接到 Hive。

    【讨论】:

      【解决方案2】:

      您可以使用 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")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多