2014-09-26 6 views
6

Hey Leute, ich war mit Hive jdbc, aber danach kam ich zu wissen, dass es Bienenstock Metastreet Java Api (here), durch die Sie wieder zu Bienenstock und manipulieren können hive DatenbankWas ist der Unterschied zwischen Hive jdbc Client und Hive Metapher Java Avi

aber ich habe mich gefragt, was genau der Unterschied zwischen diesen beiden Möglichkeiten ist

Sorry, wenn etwas offensichtlich gefragt, aber keine Informationen werden sehr

+0

Auch ich möchte den Unterschied verstehen. – Bector

Antwort

6

soweit ich es verstehen gibt 2 Möglichkeiten zu verbinden

  1. mit hive Metastore Server Hive, die dann zu einer relationalen db wie mysql für Schema-Manifestation im Hintergrund verbindet. Dies läuft allgemein auf Port 9083.
  2. hive jdbc Server, genannt HiveServer2, die auf Port 10001 läuft, in der Regel ...

, jetzt in den früheren Ausgaben von Bienenstock, in der Tat sein hiveserver2 verwendete nicht so stabil, und es ist Multi-Threading-Unterstützung war auch begrenzt. Die Dinge haben sich wahrscheinlich in dieser Arena verbessert, würde ich mir vorstellen.

Also für JDBC api - ja, es würde Sie kommunizieren lassen mit JDBC und sql.

Für die Metastorenkonnektivität scheint es 2 Merkmale zu geben.

  1. tatsächlich SQL-Abfragen laufen - DML
  2. DDL-Operationen durchzuführen.

DDL -

für DDL, die Metastore APIs kommen in praktisch, org.apache.hadoop.hive.metastore.HiveMetaStoreClient HiveMetaStoreClient Klasse kann zu diesem Zweck

DML verwendet werden -

Was ich in dieser Hinsicht nützlich gefunden habe, ist die org.apache.hadoop.hive.ql.Driver https://hive.apache.org/javadocs/r0.13.1/api/ql/org/apache/hadoop/hive/ql/Driver.htmlhive.ql.Driver Klasse Diese Klasse hat eine Methode namens run(), mit der Sie eine SQL-Anweisung ausführen und die Ergebnis zurück. für z.B. Sie können folgendes tun

Driver driver = new Driver(hiveConf); 
HiveMetaStoreClient client = new HiveMetaStoreClient(hiveConf); 
SessionState.start(new CliSessionState(hiveConf)); 
driver.run("select * from employee); 
// DDL example 
client.dropTable(db, table); 
+0

nette Erklärung – saching

1

Metastore in hive geschätzt werden, wie der Name ein Speicher anzeigt, für Hive db Metadaten. Dieses Geschäft ist normalerweise ein RDBMS. Die Metastre api unterstützt die Interaktion mit dem RDBMS, um die Metadaten zu basteln/zwicken und nicht die tatsächliche Struktur db/data.Für den normalen Gebrauch möchten/wollen Sie diese niemals verwenden.Ich denke, dass diese für Leute gedacht sind, die an der Erstellung von Toolsets arbeiten mit der Metastase arbeiten und nicht für den normalen täglichen Gebrauch.

Verwandte Themen