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

RJDBC蜂巢,连接失败

姬国安
2023-03-14

我按照多个教程尝试使用RJDBC连接到Hive,但没有成功。

以下是我所拥有的:

library(DBI)
library(rJava)
library(RJDBC)


driver <- JDBC('org.apache.hive.jdbc.HiveDriver',
            classPath = list.files("/home/cdsw/R",pattern="jar$",full.names=T),
            identifier.quote="`")

USERNAME <- "MyUser"
PASSWORD <- "MySecretPassWord"
HOSTNAME <- "my.host.net"
PORT <- 10000

server <- sprintf('jdbc:hive2://%s:%s', HOSTNAME, PORT)

conn <- dbConnect(driver, server,
                  USERNAME, PASSWORD)

我已经下载并放置在"/home/cdsw/R/"jar文件。

list.files("/home/cdsw/R",pattern="jar$",full.names=T)

[1] "/home/cdsw/R/hadoop-common-2.6.0-cdh5.16.99.jar"
[2] "/home/cdsw/R/hive-jdbc-1.1.0-cdh5.16.99.jar"

我也尝试了最近的版本,但总是与相同的Cloudera版本同步。即使我的版本是5。XX。

我很确定HOSTNAME是正确的,因为我已经使它在Python中与具有相同主机名/端口的impyla一起工作。

错误:

错误在. jcall(drv@jdrv,"Ljava/sql/Connection;","Connection",as.character(url)[1],:java.lang.NoClassDefFoundError: org/apache/Steft/TExctive

据我所知,我没有正确的. jars?

备注:

我不能在机器上安装hive jdbc,因为我不是root用户。我可以不用它吗,因为我已经放置了hive-jdbc-1.1.0-cdh5。16.99.jar在文件夹中?

另外,Kerberos触发此错误吗?

共有1个答案

梁宏才
2023-03-14

我需要下载hive驱动程序的独立版本。

hive-jdbc-3.1.2-standalone。jar,独立版本不需要完整安装hive客户端。

 类似资料:
  • 我正在尝试连接到R中的hive。我已经在我的R环境中加载了RJDBC和rJava库。我使用的是一台Linux服务器,hadoop(hortonworks sandbox 2.1)和R(3.1.1)安装在同一个盒子中。这是我用来连接的脚本: 我得到了这个错误: 错误。jcall(drv@jdrv,“Ljava/sql/Connection;”,“连接”,如图所示。字符(url)[1],:java。l

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

  • 蜂巢平台(OpenComb Platform)是一个基于 PHP 5.3 实现的深度云计算应用框架。蜂巢采用了扩展模式,系统中的功能和特性,都由扩展提供。 因此,用户可以通过开发和安装扩展来部署各种类型的互联网应用。

  • 我正在执行一个HQL查询,该查询几乎没有连接、联合和插入覆盖操作,如果只运行一次,它就可以正常工作。 如果我第二次执行相同的作业,我就会面临这个问题。有人能帮我确定在哪种情况下我们会得到这个异常吗?

  • 在配置单元中执行select语句时,我得到了一个错误。