【问题标题】:java.lang.classnotfoundexception error in connecting hive to R将 hive 连接到 R 时出现 java.lang.classnotfoundexception 错误
【发布时间】:2015-02-17 05:41:10
【问题描述】:

以下是我尝试过的代码,但有一个错误,请让我知道我哪里出错了。

     library("RJDBC") 
    .jinit()
    .jaddClassPath("/home/r_work/hive_service.jar")
    .jaddClassPath("/home/r_work/HiveJDBC4.jar")
    .jaddClassPath("/home/r_work/libfb303-0.9.0.jar")
    .jaddClassPath("/home/r_work/libthrift-0.9.0.jar")
    .jaddClassPath("/home/r_work/log4j-1.2.14.jar")
    .jaddClassPath("/home/r_work/hive_metastore.jar")
    .jaddClassPath("/home/r_work/ql.jar")
    .jaddClassPath("/home/r_work/slf4j-api-1.5.8.jar")
    .jaddClassPath("/home/r_work/slf4j-log4j12-1.5.8.jar")
    .jaddClassPath("/home/r_work/TCLIServiceClient.jar")
    .jclassPath()

    drv = JDBC("com.cloudera.hive.jdbc4.HS2Driver","~/r_work/hive_service.jar;~/r_work/HiveJDBC4.jar;~/r_work/libfb303-0.9.0.jar;~/r_work/libthrift-0.9.0.jar;~/r_work/log4j-1.2.14.jar;~/r_work/hive_metastore.jar;~/r_work/ql.jar;~/r_work/slf4j-api-1.5.8.jar;~/r_work/slf4j-log4j12-1.5.8.jar;~/r_work/TCLIServiceClient.jar","`")

    #drv = JDBC("com.cloudera.hive.jdbc4.HS2Driver","~/r_work/HiveJDBC4.jar","`")

    conn <- dbConnect(drv, "jdbc:hive2://grbd.com:10000/test_hive_db;AuthMech=1;KrbRealm=INTRANET.BARCAPINT.COM;KrbHostFQDN=grbd.com;KrbServicename=hive")

    #conn <- dbConnect(drv, "jdbc:hive2://grbdwhd0017.intranet.barcapint.com:10000;AuthMech=1;KrbRealm=INTRANET.BARCAPINT.COM;KrbHostFQDN=grbdwhd0017.intranet.barcapint.com;KrbServicename=hive")

     library(RHive)
    >  Sys.setenv(HIVE_Home= "ls /cloudera/parcels/lib/hive")
    >  Sys.setenv(HIVE_Lib= "ls /cloudera/parcels/lib/hive/lib")
    >  Sys.setenv(HIVE_HOME= "ls /cloudera/parcels/lib/hive")
    >  Sys.setenv(HIVE_LIB= "ls /cloudera/parcels/lib/hive/lib")
    >  Sys.setenv(HADOOP_HOME= "ls /cloudera/parcels/lib/hadoop")
    >  Sys.setenv(HADOOP_CONF = "ls /cloudera/parcels/lib/hadoop/etc/hadoop/hdfs-site.xml")
    >  Sys.setenv(HADOOP_LIB= "ls /cloudera/parcels/lib/hadoop/lib")
     rhive.init()
    > rhive.connect("grbd")

****错误:java.lang.ClassNotFoundException****

【问题讨论】:

    标签: r hadoop jdbc hive connectivity


    【解决方案1】:

    你可以简单地使用 RHIVE 包从 R 连接到 hiveserver2

    以下是我使用过的命令。

    Sys.setenv(HIVE_HOME="/usr/local/hive") Sys.setenv(HADOOP_HOME="/usr/local/hadoop") rhive.env(全部=真) rhive.init() rhive.connect("localhost")

    【讨论】:

    • hiveserver2 应该处于活动状态以使 R 能够连接到 hive
    猜你喜欢
    • 2017-07-24
    • 2019-01-30
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 2020-08-22
    • 2019-06-21
    相关资源
    最近更新 更多