通过Java JDBC连接Hive

2023-11-24

这里有一个问题从 java 连接到 Hive但我的是不同的

我的配置单元在 machine1 上运行,我需要使用在 machine2 上运行的 Java 服务器传递一些查询。据我了解,Hive 有一个 JDBC 接口,用于接收远程查询。我从这里获取了代码 -HiveServer2 客户端

我安装了文章中写的依赖项:

  1. hive-jdbc*.jar
  2. hive-service*.jar
  3. libfb303-0.9.0.jar
  4. libthrift-0.9.0.jar
  5. log4j-1.2.16.jar
  6. slf4j-api-1.6.1.jar
  7. slf4j-log4j12-1.6.1.jar
  8. commons-logging-1.0.4.jar

然而我得到了java.lang.NoClassDefFoundError编译时出错完整错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
    at org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:393)
    at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:187)
    at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163)
    at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at com.bidstalk.tools.RawLogsQuerySystem.HiveJdbcClient.main(HiveJdbcClient.java:25)

StackOverflow 上的另一个问题建议在 Maven 中添加 Hadoop API 依赖项 -蜂巢错误

我不明白为什么客户端需要 hadoop API 来连接 Hive。 JDBC 驱动程序不应该不知道底层查询系统吗?我只需要传递一些 SQL 查询?

Edit:我正在使用Cloudera(5.3.1),我想我需要添加CDH依赖项。 Cloudera实例运行hadoop 2.5.0和HiveServer2

但服务器位于机器 1。在机器上,代码至少应该编译,并且我应该只在运行时遇到问题!


如果你还没有解决这个问题,我已经尝试过了。 我需要以下依赖项才能编译和运行:

libthrift-0.9.0-cdh5-2.jar
httpclient-4.2.5.jar
httpcore-4.2.5.jar
commons-logging-1.1.3.jar
hive-common.jar
slf4j-api-1.7.5.jar
hive-metastore.jar
hive-service.jar
hadoop-common.jar
hive-jdbc.jar
guava-11.0.2.jar

Hive 文档可能是针对旧版本/发行版编写的。

您的异常是由于缺少hadoop-common罐子,其中有org.apache.hadoop.conf.Configuration.

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过Java JDBC连接Hive 的相关文章

随机推荐

  • 将远程图像保存到隔离存储中

    我尝试使用此代码下载图像 void downloadImage WebClient client new WebClient client DownloadStringCompleted new DownloadStringComplete
  • 如何防止 URLDownloadToFile 从缓存中检索?

    我正在使用 URLDownloadToFile 从网站检索文件 后续调用将返回原始文件而不是更新版本 我假设它正在检索缓存的版本 在调用 URLDownloadToFile 之前使用相同的 URL 调用 DeleteUrlCacheEntr
  • invalidateList 和 invalidateDisplayList 有什么区别?

    我有一个 DataGrid 其中填充有 ArrayCollection 中的对象 更新对象的字段之一后 我希望屏幕更新 数据源不可绑定 因为我是在运行时构建它的 而且我还不知道如何使其可动态绑定 这是另一个问题 在这种情况下 如果我在网格上
  • 清理 Mercurial 存储库

    我的 hg 存储库的历史记录中有一堆文件已被删除 它们导致存储库变得相当大 其中一些是图像 以及项目早期的 sql 转储 以及其他一开始就不应该提交的东西 我如何让 Mercurial 忘记这些东西并再次将我的存储库缩小到合理的大小 我是否
  • C# 中的非对称加密示例

    我需要通过 TCP 连接将机密数据发送到服务器 我做了很多研究并且理解了理论部分 根据我的研究 我想做以下事情 注意有一个服务器和一个客户端 我们假设客户端或服务器的公钥可以被任何人获取 客户创建他的公钥和私钥 他能够用他的私钥加密并用他的
  • 不带值的 MediaWiki URL 参数

    The query的一部分URL似乎由键值对组成 并由相关联 我一直习惯使用 jQuery param 函数对我的查询字符串进行 URL 编码 因为我发现它使我的代码更具可读性和可维护性 在过去的几天里 我发现自己在调用 MediaWiki
  • SimpleDateFormat 类中有哪些可用的日期格式?

    谁能告诉我 SimpleDateFormat 类中可用的日期格式 我已经浏览了 api 但找不到满意的答案 非常感谢任何帮助 下面详细描述了日期和时间格式 SimpleDateFormat Java Platform SE 7 日期和时间模
  • 如何将 String 上的 PageRequest 作为数值进行排序

    我目前有一个系统 可以过滤和排序数据库中的记录并将它们作为分页对象返回 其中一行是这样的 final PageRequest request new PageRequest this pagingSettings getPageNumber
  • 已知起点、终点和半径,如何求圆弧圆周上的点?

    请参阅下图以直观地了解我的问题 我有点 1 和 2 的坐标 它们是通过使用其他可用信息的公式得出的 参见问题 如何计算已知半径和圆心的圆上的点 我现在需要做的 与轨道建设分开 是将点 1 和点 2 之间的点绘制为绿色 这样做的最佳方法是什么
  • Cordova 6.4.0 Android 构建发布 apk 时出错

    我有一个项目在 cordova 6 3 1 上运行良好 然后我将 cordova 和我的项目更新到 6 4 0 在此之后 我第一次构建时 gradle 也自动更新了 现在我遇到一个重要的问题 我需要在 build json 文件中包含密钥库
  • MousePressEvent,QGraphicsView中的位置偏移

    我有一些困难QGraphicsView and QGraphicsScene 当我缩放 取消缩放场景并使用 mousePressEvent 创建项目时 我的位置有一个偏移 如何避免这种情况 event pos 似乎是问题 from PyQt
  • 如何使用 selenium 3.0.0 beta 关闭 geckodriver

    环境 Win 7 Selenium 3 0 0 测试版 FireFox 49 0 1 System setProperty webdriver gecko driver C geckodriver exe WebDriver driver
  • Apache ProxyPass 未加载资源

    我配置了 apache proxypass 它可以工作 但无法加载图像 javascript CSS 等 我想 proxypass 到另一台服务器 而不是本地主机 以下是我的配置 查看错误图像
  • Google 地图 API 的服务帐户

    On the Google 云身份验证概述页面上对云服务进行了以下说明 对于几乎所有情况 无论您是在本地开发还是在外部开发 生产应用程序 您应该使用服务帐户 而不是 用户帐户或 API 密钥 考虑到这一点 我的问题是 当使用 Google
  • 异常处理 ASP.NET MVC Web API

    首先 是的 我们已经创建并正在使用一个继承自 ExceptionFilterAttribute 的异常过滤器 它会在应用程序启动时在我们的身份过滤器之后立即注册到配置中 并且如果我们的 API 内部某个地方发生错误 它的工作效果几乎与预期一
  • 如何处理 Web 驱动程序 Selenium python 浏览器或应用程序可能不安全的问题?

    我正在尝试自动登录 Gmail 但看到此错误 我认为这一定是因为该网站能够检测到自动化并阻止它 大家能告诉我如何克服这个问题吗 我的个人帐户没有发现此问题 但只有普通帐户才会出现此问题 In you account profile in S
  • 在 kableExtra() 中设置字幕格式

    是否可以将字幕格式设置为kableExtra 我想在编织时将表格的标题居中并加粗HTML in RMarkdown 我试图将桌子包裹起来CSS div文本居中的位置 但这并没有产生预期的结果 样本表 library kableExtra k
  • python下载速度极慢

    有没有办法提高Python上的url下载速度 我有一个用 VB6 编写的程序 无需尝试即可使用 Python 我已经转换了这个东西 现在正在尝试 Python linux 中的东西似乎慢得多 时间是原来的两倍 即使是该程序的初始版本似乎也比
  • Flutter 如何改变ListView中鼠标滚轮的滚动速度?

    我是初学者 我正在 Windows 下编写一个关于 Flutter 的应用程序 问题是 ListView 中的文本通过鼠标剪辑滚动得太慢 我尝试覆盖 ScrollPhysics 但没有成功 请提供一种改变滚动速度的工作方法 对于找到这篇文章
  • 通过Java JDBC连接Hive

    这里有一个问题从 java 连接到 Hive但我的是不同的 我的配置单元在 machine1 上运行 我需要使用在 machine2 上运行的 Java 服务器传递一些查询 据我了解 Hive 有一个 JDBC 接口 用于接收远程查询 我从