Verbinden Hive, die durch die Java JDBC

Es ist eine Frage, die hier die Verbindung von java zu Hive aber mir ist verschiedenen

Mein hive auf Computer1 und ich brauche einige Abfragen mit der Java-server läuft auf Computer2 im Dialogfeld Lizenzaktivierung. So wie ich das verstehe Hive verfügt über eine JDBC-Schnittstelle für den Zweck der Empfang von remote-Abfragen. Ich habe den code von hier - HiveServer2 Kunden

Installierte ich die Abhängigkeiten in den Artikel geschrieben:

  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

Allerdings habe ich java.lang.NoClassDefFoundError Fehler zur compile-Zeit
Voller Fehler:

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)

Andere Frage bei StackOverflow empfohlen, um Hadoop-API dependencies in Maven - Hive-Fehler

Ich verstehe nicht, warum brauche ich die hadoop-API für ein client zum herstellen einer Verbindung mit Hive. Sollte nicht JDBC-Treiber sein, der Agnostiker von der zugrunde liegenden Abfrage system? Nur muss ich einige SQL-Abfrage?

Edit:
Ich bin mit Cloudera(5.3.1), ich denke, ich muss hinzufügen, CDH Abhängigkeiten. Cloudera-Instanz ausgeführt wird hadoop 2.5.0 und HiveServer2

Aber die Server sind an der Maschine 1. Auf der Maschine sollte der code zumindest kompilieren und sollte ich Probleme haben zur Laufzeit nur!

  • was ist die version von hadoop und hive?
Schreibe einen Kommentar