2015-03-17 7 views
5

Was ist der Unterschied zwischen hive-Server ausgeführt wird eine der folgenden zwei Befehle: -Unterschied zwischen hive thrift Server von hive und funkenVerteilungen

  1. hive --service hiveserver2
  2. Lauf hive thrift Server von spark/sbin$ ./start-thriftserver.sh

Hören sie auf separaten Ports?

Welchen sollte ich verwenden, um eine JDBC-Verbindung mit Apache Hive JDBC-Treiber in meiner Java-Klasse herzustellen?

Antwort

1

Ich denke, beide machen das gleiche, außer wenn Sie Hive Thrift-Server von Funken starten, fügt es einen weiteren CLI-Dienst zu der thrift server, die Spark-SQL-Kontext der Sparsamkeit API hinzufügen sollte.

2

Hiveserver2 ist die Hive-SQL-Engine, die Map Reduce, Spark oder Tez als Ausführungsmodul verwenden kann. Hive erstellt den Ausführungsplan und ruft dann die Ausführungs-Engine auf, um die Abfrage auszuführen. Die Optimierung wird von Hive durchgeführt.

Ich bin ein starker Funke Benutzer, aber wollte Hive zur Verfügung, um Adhoc-Abfragen über Farbton zu führen. Nach einigen Recherchen kann ich sehen, dass Hive 1.2.1 bis function 1.4.1 als Execution Engine unterstützt. Bienenstock 2 hat eine Abhängigkeit, um 1.5 zu funken, aber ich habe nicht versucht, es mit 1.5 oder 1.6 zu laufen.

Der Spark-Spar-Server kann Hive-Server 2 ersetzen und verwendet Spark, um die Abfrage tatsächlich auszuführen und einen eigenen Ausführungsplan auszuführen (der besser oder schlechter als Hive sein kann), aber Zugriff auf andere Funkenquellen wie Rdds, Textdateien usw. Natürlich können Sie den Spar-Server mit der neuesten Version von Spark ausführen.