使用JDBC连接到Jruby中的Hive会生成ClassNotFoundException

时间:2016-08-10 23:18:09

标签: jdbc hive jruby

我正在尝试使用JRuby连接到hive,这是我的代码的一部分

require 'java'

module JavaLang
   include_package 'java.lang'
end

module JavaSql
   include_package 'java.sql'
end

JavaLang::Class.forName("org.apache.hive.jdbc.HiveDriver").newInstance

..rest of the code

调用Class.forName

时出现ClassNotFoundException

我尝试使用以下命令将hive-jdbc.jar添加到类路径中:

export CLASSPATH = $ CLASSPATH:/ my / home / dir / bin / *

我创建的bin目录包含hive-jdbc jar但我仍然收到此错误。

如何将jar添加到我的类路径中,以便Class.forName可以识别?

P.S。我使用代码here作为创建我的代码的指南,因为我是JRuby的新手

1 个答案:

答案 0 :(得分:0)

通过添加import语句解决了这个问题:

import 'org.apache.hive.jdbc.HiveDriver'

并删除Class.forName调用:

JavaLang::Class.forName("org.apache.hive.jdbc.HiveDriver").newInstance