Video: HDInsight: Fast Interactive Queries with Hive on LLAP | Azure Friday 2024
Der erste Hive-Client ist die Hive-Befehlszeilenschnittstelle (CLI). Um die genaueren Punkte des Hive-CLI-Clients zu beherrschen, kann es hilfreich sein, die (etwas stark aussehende) Hive-Architektur zu überprüfen.
In der zweiten Abbildung ist die Architektur so optimiert, dass sie sich nur auf die Komponenten konzentriert, die beim Ausführen der CLI erforderlich sind.
Dies sind die Komponenten von Hive, die benötigt werden, wenn die CLI auf einem Hadoop-Cluster ausgeführt wird. Hier führen Sie Hive im lokalen Modus aus, der für Ihre Daten lokalen Speicher statt HDFS verwendet.
Um die Hive-CLI auszuführen, führen Sie den Befehl hive aus und geben die CLI als den Dienst an, den Sie ausführen möchten. In der folgenden Auflistung sehen Sie den Befehl, der benötigt wird, sowie einige unserer ersten HiveQL-Anweisungen. (Eine Schritt-Annotation mit dem A-B-C-Modell ist in der Auflistung enthalten, um Ihre Aufmerksamkeit auf die Tastenbefehle zu lenken.)
(A) $ $ HIVE_HOME / bin hive --service cli (B) hive> set Bienenstock. Kli. drucken. Strom. db = wahr; (C) hive (Standard)> CREATE DATABASE ourfirstdatabase; OK Erforderliche Zeit: 3. 756 Sekunden (D) hive (Standard)> USE ourfirstdatabase; OK Erledigte Zeit: 0. 039 Sekunden (E) hive (unsere erste Datenbank)> CREATE TABLE our_first_table (> Vorname STRING,> Nachname STRING,> EmployeeId INT); OK Erledigte Zeit: 0. 043 Sekunden hive (unsere erste Datenbank)> quit; (F) $ ls / home / biadmin / Hive / Lager / unsere erste Datenbank. db our_first_table
Der erste Befehl (siehe Schritt A) startet die Hive-CLI mit der Umgebungsvariablen $ HIVE_HOME. Die Befehlszeilenoption -service cli weist das Hive-System an, die Befehlszeilenschnittstelle zu starten, obwohl Sie andere Server hätten wählen können.
Als Nächstes weisen Sie in Schritt B der Hive-CLI an, Ihre aktuelle Arbeitsdatenbank zu drucken, damit Sie wissen, wo Sie sich im Namespace befinden. (Diese Anweisung ist sinnvoll, nachdem wir erklärt haben, wie der nächste Befehl zu verwenden ist. Halten Sie sich also fest.)
In Schritt C verwenden Sie die Datendefinitionssprache (DDL) von HiveQL, um Ihre erste Datenbank zu erstellen. (Denken Sie daran, dass Datenbanken in Hive einfach Namespaces sind, in denen sich bestimmte Tabellen befinden; da eine Gruppe von Tabellen als Datenbank oder Schema gedacht werden kann, hätten Sie den Begriff SCHEMA anstelle von DATABASE verwenden können, um das gleiche Ergebnis zu erzielen.).
Genauer gesagt verwenden Sie DDL, um das System anzuweisen, eine Datenbank mit dem Namen ourfirstdatabase zu erstellen und diese Datenbank dann als Standard für nachfolgende HiveQL-DDL-Befehle mit dem USE-Befehl in Schritt D zu verwenden. In Schritt E erstellen Sie Ihre erste Tabelle und gib ihr den (durchaus passenden) Namen our_first_table.
(Bis jetzt haben Sie vielleicht geglaubt, dass es SQL sehr ähnelt, vielleicht mit ein paar kleinen Unterschieden in der Syntax, je nachdem, welches RDBMS Sie gewohnt sind - und Sie hätten recht gehabt.) Der letzte Befehl, in Schritt F führt eine Verzeichnisauflistung Ihres ausgewählten Hive-Warehouse-Verzeichnisses aus, sodass Sie sehen können, dass unsere_first_table tatsächlich auf der Festplatte gespeichert wurde.
Du stellst den Bienenstock ein. Metastore. Warenhaus. Verzeichnis-Variable, um auf das lokale Verzeichnis / home / biadmin / Hive / Warehouse in Ihrer virtuellen Linux-Maschine zu verweisen, statt das HDFS wie auf einem richtigen Hadoop-Cluster zu verwenden.
Nachdem Sie eine Tabelle erstellt haben, ist es interessant, die Metadaten der Tabelle anzuzeigen. In Produktionsumgebungen haben Sie möglicherweise Dutzende von Tabellen oder mehr, daher ist es hilfreich, die Tabellenstruktur von Zeit zu Zeit überprüfen zu können. Sie c und verwenden dazu einen HiveQL-Befehl mithilfe der Hive-CLI. Der Hive Web Interface (HWI) -Server bietet jedoch eine hilfreiche Schnittstelle für diese Art von Vorgang.
Die Verwendung des HWI-Servers anstelle der CLI kann auch sicherer sein. Bei der Verwendung der Befehlszeilenschnittstelle in Produktionsumgebungen muss sorgfältig vorgegangen werden, da der Computer, auf dem die Befehlszeilenschnittstelle ausgeführt wird, Zugriff auf den gesamten Hadoop-Cluster haben muss.
Daher setzen Systemadministratoren typischerweise Tools wie die Secure Shell (ssh) ein, um einen kontrollierten und sicheren Zugriff auf die Maschine zu gewährleisten, auf der die CLI ausgeführt wird, und um eine Netzwerkverschlüsselung bereitzustellen. Wenn der HWI-Server verwendet wird, kann ein Benutzer jedoch nur auf Hive-Daten zugreifen, die der HWI-Server über seinen Webbrowser zulässt.