Verwenden von Apache Zeppelin zum Ausführen von Apache Phoenix-Abfragen per Apache HBase in Azure HDInsight
Apache Phoenix ist eine relationale Open-Source-Datenbankschicht mit hochgradig parallelisierter Verarbeitung, die auf HBase basiert. Mit Phoenix können Sie SQL-ähnliche Abfragen per HBase verwenden. Phoenix nutzt im Hintergrund JDBC-Treiber, um Ihnen das Erstellen, Löschen und Ändern von SQL-Tabellen, -Indizes, -Sichten und -Sequenzen zu ermöglichen. Sie können Phoenix auch verwenden, um Zeilen einzeln oder als Massenvorgang zu aktualisieren. Für Phoenix wird anstelle von MapReduce die native NOSQL-Kompilierung verwendet, um Abfragen zu kompilieren und so basierend auf HBase die Erstellung von Anwendungen mit geringer Wartezeit zu ermöglichen.
Apache Zeppelin ist ein webbasiertes Open-Source-Notebook, mit dem Sie datengesteuerte, gemeinschaftliche Dokumente anhand interaktiver Datenanalysen und Sprachen wie SQL und Scala erstellen können. Es unterstützt Datenentwickler und Datenanalysten bei der Entwicklung, Organisation, Ausführung und Freigabe von Code für die Datenbearbeitung. Es ermöglicht Ihnen das Visualisieren von Ergebnissen, ohne auf die Befehlszeile zu verweisen oder die Clusterdetails zu benötigen.
Apache Zeppelin kann von HDInsight-Benutzern zum Abfragen von Phoenix-Tabellen verwendet werden. Apache Zeppelin ist in den HDInsight-Cluster integriert, und es sind keine weiteren Schritte für die Verwendung erforderlich. Erstellen Sie ein Zeppelin Notebook mit dem JDBC-Interpreter, und beginnen Sie mit dem Schreiben Ihrer Phoenix SQL-Abfragen
Voraussetzungen
Ein Apache HBase-Cluster in HDInsight. Weitere Informationen finden Sie unter Erste Schritte mit Apache HBase.
Erstellen einer Apache Zeppelin-Notiz
Ersetzen Sie
CLUSTERNAME
durch den Namen Ihres Clusters in der folgenden URLhttps://CLUSTERNAME.azurehdinsight.net/zeppelin
. Geben Sie dann die URL in einem Webbrowser ein. Geben Sie Ihren Benutzernamen und das Kennwort für die Clusteranmeldung ein.Wählen Sie auf der Zeppelin-Seite die Option Neue Notiz erstellen aus.
Geben Sie im Dialogfeld Neue Notiz erstellen die folgenden Werte ein oder wählen Sie sie aus:
- „Note Name“ (Name der Notiz): Geben Sie einen Namen für die Notiz ein.
- „Default interpreter“ (Standardinterpreter): Wählen Sie jdbc aus der Dropdownliste aus.
Klicken Sie anschließend auf Notiz erstellen.
Stellen Sie sicher, dass im Header des Notebooks der Status „Verbunden“ angezeigt wird. Dies wird durch einen grünen Punkt in der oberen rechten Ecke angezeigt.
Erstellen Sie eine HBase-Tabelle. Geben Sie den folgenden Befehl ein, und drücken Sie dann UMSCHALT+EINGABETASTE:
%jdbc(phoenix) CREATE TABLE Company ( company_id INTEGER PRIMARY KEY, name VARCHAR(225) );
Die Anweisung %jdbc(phoenix) in der ersten Zeile gibt dem Notebook an, dass es den Phoenix-JDBC-Interpreter verwenden soll.
Sehen Sie sich die erstellten Tabellen an.
%jdbc(phoenix) SELECT DISTINCT table_name FROM SYSTEM.CATALOG WHERE table_schem is null or table_schem <> 'SYSTEM';
Fügen Sie Werte in die Tabelle ein.
%jdbc(phoenix) UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company (name, company_id) VALUES('Apache', 2);
Fragen Sie die Tabelle ab.
%jdbc(phoenix) SELECT * FROM Company;
Löschen Sie einen Datensatz.
%jdbc(phoenix) DELETE FROM Company WHERE COMPANY_ID=1;
Löschen Sie die Tabelle.
%jdbc(phoenix) DROP TABLE Company;