【问题标题】:Connecting to Hive in R在 R 中连接到 Hive
【发布时间】:2014-09-16 04:26:38
【问题描述】:

我正在尝试连接到 R 中的 hive。我已经在我的 R 环境中加载了 RJDBC 和 rJava 库。 我正在使用在同一个盒子中安装了 hadoop (hortonworks sandbox 2.1) 和 R (3.1.1) 的 Linux 服务器。这是我用来连接的脚本:

drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "/usr/lib/hive/lib/hive-jdbc.jar")
conn <- dbConnect(drv, "jdbc:hive2://localhost:10000/default")

我收到此错误:

.jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], :java.lang.NoClassDefFoundError: 无法初始化类 org.apache。 hive.service.auth.HiveAuthFactory

我检查了我的类路径是否包含/usr/lib/hive/usr/lib/hadoop 中的所有jar 文件,但不能确定是否缺少其他任何内容。知道是什么导致了问题吗? 我对 R (以及为此进行编程)相当陌生,因此非常感谢任何具体步骤。

【问题讨论】:

    标签: r hadoop jdbc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我仅使用 RJDBC 和一些配置行就成功地从 R 连接到 Hive。我更喜欢 RJDBC 而不是 rHive,因为 rHive 需要在集群的所有节点上进行复杂的安装(我不太明白为什么)。

      这是我的 R 解决方案:

      #loading libraries
      library("DBI")
      library("rJava")
      library("RJDBC")
      
      #init of the classpath (works with hadoop 2.6 on CDH 5.4 installation)
      cp = c("/usr/lib/hive/lib/hive-jdbc.jar", "/usr/lib/hadoop/client/hadoop-common.jar", "/usr/lib/hive/lib/libthrift-0.9.2.jar", "/usr/lib/hive/lib/hive-service.jar", "/usr/lib/hive/lib/httpclient-4.2.5.jar", "/usr/lib/hive/lib/httpcore-4.2.5.jar", "/usr/lib/hive/lib/hive-jdbc-standalone.jar")
      .jinit(classpath=cp)
      
      #init of the connexion to Hive server
      drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "/usr/lib/hive/lib/hive-jdbc.jar", identifier.quote="`")
      conn <- dbConnect(drv, "jdbc:hive2://localhost:10000/mydb", "myuser", "")
      
      #working with the connexion
      show_databases <- dbGetQuery(conn, "show databases")
      show_databases
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-04
        • 1970-01-01
        • 1970-01-01
        • 2018-10-19
        • 2019-11-02
        • 1970-01-01
        相关资源
        最近更新 更多