当前位置: 首页 > 知识库问答 >
问题:

连接到R中的蜂巢

蔚承天
2023-03-14

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

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;”,“连接”,如图所示。字符(url)[1],:java。lang.NoClassDefFoundError:无法初始化类组织。阿帕奇。蜂箱服务啊。HiveAuth工厂

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

共有2个答案

陆伟
2023-03-14

我通过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
尤茂材
2023-03-14

您只需使用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")
 类似资料:
  • 我按照多个教程尝试使用RJDBC连接到Hive,但没有成功。 以下是我所拥有的: 我已经下载并放置在的文件。 我也尝试了最近的版本,但总是与相同的Cloudera版本同步。即使我的版本是5。XX。 我很确定是正确的,因为我已经使它在Python中与具有相同主机名/端口的一起工作。 错误: 错误在. jcall(drv@jdrv,"Ljava/sql/Connection;","Connection

  • 我正在回顾一个旧的Spark软件,它必须并行运行许多小的查询和计数()并使用直接的hive-sql。 在过去,该软件通过在shell()上直线运行每个查询来解决“并行化查询的问题”。我不能用现代新鲜的Spark,此刻只有Spark V2.2。下面的片段说明了完整的SQL查询方法。 有一种“Spark方式”可以访问Hive并运行SQL查询,性能(略)更好,而且Spark配置的重用性更好? 没有丢失纯

  • 我试图更多地理解滚动加入的工作方式,并有一些困惑,我希望有人能为我澄清这一点。举一个具体的例子: 我希望这会生成一个长的,其中滚动中的值: 另外,文档中说: 这使得看起来只有X中的东西应该返回,而正在执行的联接是内部联接,而不是外部联接。如果,但是中不存在特定的呢?再玩一点,我不明白列中有什么值。

  • 由于java的版本,我无法在R中启动h2o并收到以下错误 H2O还没有开始跑步,现在开始... 注意:如果出现错误,请查看以下日志文件:C:\Users\Vaibhav\AppData\Local\Temp\RtmpMBUt0r\file1db069d01678/h2o_Vaibhav _started_from_r。输出C:\Users\Vaibhav\AppData\Local\Temp\Rt

  • 代码如下 有人能帮忙吗,是不是在我可以把信息上传到表中之前就关闭连接了?

  • 尝试在csv格式的shapefile和数据表之间进行空间连接时,我遇到了一些问题。 重要提示:包含大约500条记录,而表只有250条。中的某些记录将不匹配。 问题1: 我有一个excel文件,我将其转换为csv以导入到R中。在运行连接时,我注意到ID列中的一些数据格式发生了更改(因此将变为到相同)。然而,当我在记事本中打开csv文件时,格式是正确的。我试着将表格作为.txt文件读取,但没有成功。有