Home
Analytics
Hive JDBC driver
dabelie
Hello everyone,
I am having trouble configuring the new JDBC driver between Hive and Birt : I have Hive set up nicely and working, when I want to add a new data source, i add the right jar files, and when i click on "test connection", nothing happens.
I configured the url as : jdbc:hive://localhost:10000/default
Then I clicked ok, and i tried to add a new data set, but Birt wont let me do it...what did I do wrong?
Thanks a lot!
P.S:forgive my english, I am french...
Find more posts tagged with
Comments
dabelie
Let me explain you a few things I did :<br />
<br />
-I started hadoop, and hive, I have on table in have, containing data, i can do queries on the terminal, no problem<br />
-I added all the exact same jars as written here :<br />
<a class='bbc_url' href='
http://www.eclipse.org/birt/phoenix/project/notable3.7.php'>http://www.eclipse.org/birt/phoenix/project/notable3.7.php</a><br
/>
-I used the database jdbc:hive://localhost:10000/default<br />
<br />
I clicked on "Test connection", but it didnt do anything, so I looked at the logs (in workspace/metadata) and apparently here is the problem :<br />
<br />
<blockquote class='ipsBlockquote' ><p>
!ENTRY org.eclipse.ui 4 0 2012-07-20 09:40:00.339<br />
!MESSAGE Unhandled event loop exception<br />
!STACK 0<br />
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory<br />
at org.apache.thrift.transport.TIOStreamTransport.<clinit>(TIOStreamTransport.java:38)<br />
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:92)<br />
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$WrappedDriver.connect(JDBCDriverManager.java:1234)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:273)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:205)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.tryCreateConnection(JDBCDriverManager.java:787)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.testConnection(JDBCDriverManager.java:687)<br />
at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:147)<br />
.....................<br />
quinox.launcher.Main.basicRun(Main.java:584)<br />
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)<br />
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory<br />
at org.eclipse.birt.core.framework.URLClassLoader.findClass1(URLClassLoader.java:188)<br />
at org.eclipse.birt.core.framework.URLClassLoader$1.run(URLClassLoader.java:156)<br />
at org.eclipse.birt.core.framework.URLClassLoader$1.run(URLClassLoader.java:1)<br />
at java.security.AccessController.doPrivileged(Native Method)<br />
at org.eclipse.birt.core.framework.URLClassLoader.findClass(URLClassLoader.java:151)<br />
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)<br />
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)<br />
... 58 more<br /></p></blockquote>
<br />
Seeing that, I thought maybe I needed an sl4j jar, so I added 2 jars from hive:<br />
-slf4j-log4j12-1.6.1.jar<br />
-slf4j-api-1.6.1<br />
I don't know if it is a good idea, but I thought i could try.<br />
And here is the new log messages I get when I try to test the connection (I still have nothing happenning when I click on "test connection")<br />
<br />
<br />
<blockquote class='ipsBlockquote' ><p>
!ENTRY org.eclipse.ui 4 0 2012-07-20 09:47:49.069<br />
!MESSAGE Unhandled event loop exception<br />
!STACK 0<br />
java.lang.NoClassDefFoundError: Could not initialize class org.apache.thrift.transport.TSocket<br />
at org.apache.hadoop.hive.jdbc.HiveConnection.<init>(HiveConnection.java:92)<br />
at org.apache.hadoop.hive.jdbc.HiveDriver.connect(HiveDriver.java:104)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager$WrappedDriver.connect(JDBCDriverManager.java:1234)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:273)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:205)<br />
...............<br />
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)<br />
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)<br /></p></blockquote>
<br />
I restarted birt a few times, tried with one new jar, with two new jars, and now, when I click on "Test Connection", I have a message saying :<br />
<br />
<blockquote class='ipsBlockquote' ><p>
org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Could not establish connection to localhost:10000/default: java.net.ConnectException: Connection refused.<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:303)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:205)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.tryCreateConnection(JDBCDriverManager.java:787)<br />
at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.testConnection(JDBCDriverManager.java:687)<br />
at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:147)<br />
at org.eclipse.birt.report.data.oda.jdbc.ui.util.DriverLoader.testConnection(DriverLoader.java:138)<br />
at org.eclipse.birt.report.data.oda.hive.ui.profile.HiveSelectionPageHelper.testConnection(HiveSelectionPageHelper.java:404)<br />
at org.eclipse.birt.report.data.oda.hive.ui.profile.HiveSelectionPageHelper.access$4(HiveSelectionPageHelper.java:392)<br />
at org.eclipse.birt.report.data.oda.hive.ui.profile.HiveSelectionPageHelper$2.widgetSelected(HiveSelectionPageHelper.java:333)<br />
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)<br />
..........<br /></p></blockquote>
<br />
I hope you could understand my problems, my english isnt perfect, I am french, but if you could help me set this up, I would be very grateful.<br />
<br />
Thanks!