我正在为关于JAR文件和HUE
的一些问题烦恼。 最大的目标是通过HUE
使用DRILL。HUE和一个JDBC驱动程序
如此处所述,可以将数据库集成到HUE
中。 所以我也尝试做到这一点。为此,我下载了一个JAR文件,并尝试将其集成到HUE
中。
所以我加了一本笔记本,我的代码看起来像下面几行
[notebook]
show_notebooks=true
[[interpreters]]
[[[hive]]] name = Hive interface = hiveserver2
[[[jdbc]]] name=JDBC interface=jdbc options='{"url": "jdbc:drill:zk=r2c00.pmd.local:2181,r2c01.pmd.local:2181,r2c02.pmd.local:2181/drill/pacluster;schema=pacs2","driver": "org.apache.drill.jdbc.Driver","user": "admin","password": "admin"}'
我看到在“记事本”
select * from pacs2.pacs2.campaign limit 10
如果我要执行我的笔记本在HUE的接口称为JDBC下面的代码我得到以下错误:
An error occurred while calling z:java.sql.DriverManager.getConnection. : java.sql.SQLException: No suitable driver found for jdbc:drill:zk=r2c00.pmd.local:2181,r2c01.pmd.local:2181,r2c02.pmd.local:2181/drill/pacluster;schema=pacs2 at java.sql.DriverManager.getConnection(DriverManager.java:689) at java.sql.DriverManager.getConnection(DriverManager.java:247) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:379) at py4j.Gateway.invoke(Gateway.java:259) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:207) at java.lang.Thread.run(Thread.java:745)
显然HUE
不可能找到驱动程序。令人惊讶的是,如果我尝试通过SQuirrel SQL
连接到数据库,这没有问题。
所以我的关键问题是我必须在哪里找到JDBC jar文件?这个文件有特定的位置吗?我使用HUE 3.11
和Cloudera CDH 5.9.0
。
感谢您的帮助!
彼得
您需要添加合适的JDBC驱动程序添加到应用程序的类路径中。 –
是的,我知道......我想我有合适的驱动程序,因为与Squirrel SQL的连接是可能的。现在关键的问题是,我如何将这个驱动程序添加到我的应用程序中 - 在这种情况下是HUE?我什么都没发现! – Peter
松鼠在其类路径上具有驱动程序并不意味着它在其他Java应用程序的类路径上。 –