相关疑难解决方法(0)

连接数据库时Class.forName("oracle.jdbc.driver.OracleDriver")的实际用途是什么?

命令是什么

Class.forName("oracle.jdbc.driver.OracleDriver")
Run Code Online (Sandbox Code Playgroud)

连接到Oracle数据库时确实做到了吗?是否有另一种做同样事情的方法?

java jdbc

87
推荐指数
3
解决办法
19万
查看次数

连接Hive和Java JDBC

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

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

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

  1. 蜂巢-JDBC的*.jar
  2. 蜂巢服务的*.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. 共享记录-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)
Run Code Online (Sandbox Code Playgroud)

StackOverflow的另一个问题是建议在Maven中添加Hadoop API依赖项 - Hive Error

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

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

但是服务器在机器1上.在机器上,代码至少应该编译,我应该只在运行时遇到问题!

hadoop hive

9
推荐指数
3
解决办法
4万
查看次数

标签 统计

hadoop ×1

hive ×1

java ×1

jdbc ×1