Herstellen einer Verbindung mit Azure HDInsight und Ausführen von Apache Hive-Abfragen mithilfe von Data Lake Tools für Visual Studio

Erfahren Sie, wie Sie Microsoft Azure Data Lake und Stream Analytics-Tools für Visual Studio (Data Lake-Tools) verwenden. Verwenden Sie das Tool, um eine Verbindung mit Apache Hadoop-Clustern in Azure HDInsight herzustellen, und führen Sie dann Hive-Abfragen durch.

Weitere Informationen zum Verwenden von HDInsight finden Sie unter Erste Schritte mit HDInsight.

Sie können Data Lake Tools für Visual Studio verwenden, um auf Data Lake Analytics und HDInsight zuzugreifen. Weitere Informationen zu Data Lake Tools finden Sie unter Entwickeln von U-SQL-Skripts mit Data Lake Tools für Visual Studio.

Voraussetzungen

Um diesen Artikel durchzuarbeiten und Data Lake Tools für Visual Studio zu verwenden, benötigen Sie Folgendes:

Installieren von Data Lake-Tools für Visual Studio

Befolgen Sie die entsprechenden Anweisungen, um Data Lake Tools für Ihre Version von Visual Studio zu installieren:

  • Visual Studio 2017 oder Visual Studio 2019:

    Stellen Sie bei der Installation von Visual Studio sicher, dass Sie die Workload Azure-Entwicklung oder Datenspeicherung und -verarbeitung einfügen.

    Navigieren Sie bei vorhandenen Visual Studio-Installationen zur IDE-Menüleiste, und wählen Sie Extras>Tools und Features abrufen aus, um Visual Studio-Installer zu öffnen. Wählen Sie auf der Registerkarte Workloads mindestens die Workload Azure-Entwicklung (unter Web und Cloud) aus. Wählen Sie alternativ die Workload Datenspeicherung und -verarbeitung (unter Andere Toolsets) aus.

    Workload selection, Visual Studio Installer

  • Visual Studio 2015:

    Data Lake Tools herunterladen. Wählen Sie die passende Version von Data Lake Tools für Ihre Visual Studio-Version aus.

Aktualisieren von Data Lake Tools für Visual Studio

Aktualisieren Sie als Nächstes Data Lake Tools auf die neueste Version.

  1. Öffnen Sie Visual Studio.

  2. Wählen Sie im Fenster Start die Option Ohne Code fortfahren aus.

  3. Wählen Sie in der Visual Studio-IDE-Menüleiste die Optionen Erweiterungen>Erweiterungen verwalten aus.

  4. Erweitern Sie im Dialogfeld Erweiterungen verwalten den Knoten Updates.

  5. Wenn in der Liste der verfügbaren Updates der Eintrag für die Azure Data Lake- und Stream Analytic-Tools aufgeführt ist, wählen Sie ihn aus. Wählen Sie dann die zugehörige Schaltfläche Aktualisieren aus. Nachdem das Dialogfeld Herunterladen und installieren eingeblendet und dann wieder ausgeblendet wurde, wird die Erweiterung mit den Azure Data Lake- und Stream Analytics-Tools in Visual Studio dem Zeitplan für Updates hinzugefügt.

  6. Schließen Sie alle Visual Studio-Fenster. Das Dialogfeld VSIX Installer wird angezeigt.

  7. Wählen Sie Lizenz aus, um die Lizenzbedingungen zu lesen, und dann Schließen, um zum Dialogfeld VSIX Installer zurückzukehren.

  8. Wählen Sie Ändern aus. Die Installation des Erweiterungsupdates wird gestartet. Kurze Zeit später wird im Dialogfeld angezeigt, dass die Änderungen vorgenommen wurden. Wählen Sie Schließen aus, und starten Sie dann Visual Studio neu, um die Installation abzuschließen.

Hinweis

Sie können Data Lake Tools Version 2.3.0.0 oder höher nur verwenden, um eine Verbindung mit Interactive Query-Clustern herzustellen und interaktive Hive-Abfragen auszuführen.

Herstellen einer Verbindung mit Azure-Abonnements

Mit Data Lake Tools für Visual Studio können Sie eine Verbindung mit Ihren HDInsight-Clustern herstellen, einige einfache Verwaltungsvorgänge durchführen und Hive-Abfragen ausführen.

Hinweis

Informationen zum Herstellen einer Verbindung mit einem generischen Hadoop-Cluster finden Sie unter How to write and submit Hive queries using Visual Studio (Schreiben und Übermitteln von Hive-Abfragen in Visual Studio).

Herstellen einer Verbindung mit einem Azure-Abonnement

So stellen Sie eine Verbindung mit Ihrem Azure-Abonnement her:

  1. Öffnen Sie Visual Studio.

  2. Wählen Sie im Fenster Start die Option Ohne Code fortfahren aus.

  3. Wählen Sie auf der Menüleiste der IDE die Option Ansicht>Server-Explorer aus.

  4. Klicken Sie in Server-Explorer mit der rechten Maustaste auf den Knoten Azure, wählen Sie Verbindung mit Microsoft Azure-Abonnement herstellen aus, und schließen Sie den Authentifizierungsvorgang ab. Erweitern Sie in Server-Explorer den Knoten Azure>HDInsight, um eine Liste der vorhandenen HDInsight-Cluster anzuzeigen.

  5. Wenn Sie noch keine Cluster festgelegt haben, können Sie sie über das Azure-Portal, Azure PowerShell oder das HDInsight SDK erstellen. Weitere Informationen finden Sie unter Einrichten von Clustern in HDInsight.

    HDInsight cluster list, Server Explorer, Visual Studio

  6. Erweitern Sie einen HDInsight-Cluster. Der Cluster enthält Knoten für Hive-Datenbanken. Außerdem ein Standardspeicherkonto, ggf. weitere verknüpfte Speicherkonten und das Hadoop-Dienstprotokoll. Sie können die einzelnen Elemente weiter erweitern.

Nach dem Herstellen der Verbindung mit Ihrem Azure-Abonnement können Sie die folgenden Aufgaben durchführen.

Herstellen einer Verbindung mit Azure in Visual Studio

So stellen Sie in Visual Studio eine Verbindung mit dem Azure-Portal her:

  1. Erweitern Sie in Server-Explorer die Knoten Azure>HDInsight, und wählen Sie Ihren Cluster aus.

  2. Klicken Sie mit der rechten Maustaste auf einen HDInsight-Cluster, und wählen Sie dann Cluster in Azure-Portal verwalten aus.

Fragen und Feedback in Visual Studio

So können Sie in Visual Studio Fragen stellen und/oder Feedback geben:

  1. Wählen Sie in Server-Explorer die Knoten Azure>HDInsight aus.

  2. Klicken Sie mit der rechten Maustaste auf HDInsight, und wählen Sie entweder MSDN-Forum aus, um Fragen zu stellen, oder Feedback abgeben, um Feedback einzureichen.

Hinweis

Derzeit können nur HDInsight-Cluster des Typs „Hive“ verknüpft werden.

So verknüpfen Sie einen HDInsight-Cluster

  1. Klicken Sie mit der rechten Maustaste auf HDInsight, und wählen Sie dann HDInsight-Cluster verknüpfen aus, um das Dialogfeld HDInsight-Cluster verknüpfen anzuzeigen.

  2. Geben Sie im Formular https://CLUSTERNAME.azurehdinsight.net eine Verbindungs-URL ein. Der Clustername wird automatisch mit dem Clusternamenteil der URL gefüllt, wenn Sie zu einem anderen Feld wechseln. Geben Sie dann einen Benutzernamen und ein Kennwort ein, und wählen Sie Weiter aus.

    Link a cluster, HDInsight, Visual Studio

  3. Wählen Sie Fertig stellenaus. Wenn der Cluster erfolgreich verknüpft wurde, wird er unter dem Knoten HDInsight aufgeführt.

Um einen verknüpften Cluster zu aktualisieren, klicken Sie mit der rechten Maustaste auf den Cluster, und wählen Sie Bearbeiten aus. Dann können Sie die Clusterinformationen aktualisieren.

Edit a linked cluster, HDInsight, Visual Studio

Erkunden der verknüpften Ressourcen

Im Server-Explorer werden das Standardspeicherkonto und verknüpfte Speicherkonten angezeigt. Wenn Sie das Standardspeicherkonto erweitern, werden die Container im Speicherkonto angezeigt. Das Standardspeicherkonto und der Standardcontainer sind markiert.

Data Lake Tools for Visual Studio linked resources in Server Explorer

Klicken Sie mit der rechten Maustaste auf einen Container, und wählen Sie Container anzeigen aus, um den Inhalt des Containers anzuzeigen. Nach dem Öffnen eines Containers können Sie über die verschiedenen Symbolleistenschaltflächen die Inhaltsliste aktualisieren, ein Blob hochladen, ausgewählte Blobs löschen, ein Blob öffnen und ausgewählte Blobs herunterladen (Speichern unter).

Container list and blob operations, HDInsight cluster, Visual Studio

Ausführen interaktiver Apache Hive-Abfragen

Apache Hive ist eine Data Warehouse-Infrastruktur, die auf Hadoop basiert. Hive wird für die Datenzusammenfassung, Abfragen und die Analyse verwendet. Sie können Data Lake Tools für Visual Studio verwenden, um Hive-Abfragen in Visual Studio auszuführen. Weitere Informationen zu Hive finden Sie unter Was sind Apache Hive und HiveQL in Azure HDInsight?

Interactive Query in Azure HDInsight verwendet Hive unter LLAP in Apache Hive 2.1. Interactive Query bietet Interaktivität für komplexe Data Warehouse-Abfragen von umfangreichen, gespeicherten Datasets. Die Ausführung von Hive-Abfragen mit Interactive Query ist im Vergleich zu herkömmlichen Hive-Batchaufträgen deutlich schneller.

Hinweis

Das Ausführen von interaktiven Hive-Abfragen ist nur möglich, wenn Sie eine Verbindung mit einem HDInsight Interactive Query-Cluster herstellen.

Sie können Data Lake Tools für Visual Studio auch verwenden, um den Inhalt eines Hive-Auftrags anzuzeigen. Data Lake Tools für Visual Studio sammelt die YARN-Protokolle bestimmter Hive-Aufträge und zeigt sie an.

Wählen Sie in Server-Explorer die Knoten Azure>HDInsight und dann Ihren Cluster aus. Dieser Knoten ist der Ausgangspunkt in Server-Explorer für die folgenden Abschnitte.

Anzeigen der Beispieltabelle „hivesampletable“

Alle HDInsight-Cluster verfügen über eine Hive-Beispieltabelle mit dem Namen hivesampletable.

Wählen Sie in Ihrem Cluster die Knoten Hive-Datenbanken>Standard>hivesampletable aus.

  • So zeigen Sie das hivesampletable-Schema an

    Erweitern Sie hivesampletable. Die Namen und Datentypen der hivesampletable-Spalten werden angezeigt.

  • So zeigen Sie die hivesampletable-Daten an

    Klicken Sie mit der rechten Maustaste auf hivesampletable und dann auf Erste 100 Zeilen anzeigen. Eine Liste mit 100 Ergebnissen wird im Fenster Hive-Tabelle: hivesampletable angezeigt. Diese Aktion entspricht dem Ausführen der folgenden Hive-Abfrage mithilfe des Hive-ODBC-Treibers:

    SELECT * FROM hivesampletable LIMIT 100

    Sie können die Zeilenanzahl anpassen, indem Sie Anzahl der Zeilen ändern: In der Dropdownliste können Sie 50, 100, 200 oder 1.000 Zeilen auswählen.

Erstellen von Hive-Tabellen

Zum Erstellen einer Hive-Tabelle können Sie die grafische Benutzeroberfläche oder Hive-Abfragen verwenden. Informationen zum Verwenden von Hive-Abfragen finden Sie unter Erstellen und Ausführen von Hive-Abfragen.

  1. Wählen Sie in Ihrem Cluster die Knoten Hive-Datenbanken>Standard aus.

  2. Klicken Sie mit der rechten Maustaste auf Standard, und wählen Sie dann Tabelle erstellen aus.

  3. Konfigurieren Sie die Tabelle.

  4. Wählen Sie die Schaltfläche Tabelle erstellen aus, um den Auftrag zu übermitteln, mit dem die neue Hive-Tabelle erstellt wird.

    Create Table window, Hive, HDInsight cluster, Visual Studio

Erstellen und Ausführen von Hive-Abfragen

Zum Erstellen und Ausführen von Hive-Abfragen stehen Ihnen zwei Möglichkeiten zur Auswahl:

  • Erstellen von Ad-hoc-Abfragen
  • Erstellen einer Hive-Anwendung

Erstellen einer Ad-hoc-Abfrage

So können Sie eine Ad-hoc-Abfrage erstellen und ausführen

  1. Klicken Sie mit der rechten Maustaste auf den Cluster, in dem Sie die Abfrage ausführen möchten, und wählen Sie dann Hive-Abfrage schreiben aus.

  2. Geben Sie eine Hive-Abfrage ein.

    Der Hive-Editor unterstützt IntelliSense. Data Lake Tools für Visual Studio unterstützt das Laden von Remotemetadaten, wenn Sie Ihr Hive-Skript bearbeiten. Wenn Sie beispielsweise SELECT * FROM eingeben, listet IntelliSense alle vorgeschlagenen Tabellennamen auf. Wird ein Tabellenname angegeben, listet IntelliSense die Spaltennamen auf. Die Tools unterstützen die meisten Hive-DML-Anweisungen, Unterabfragen und integrierte UDFs.

    IntelliSense example 1, Hive ad-hoc query, HDInsight cluster, Visual Studio

    IntelliSense example 2, Hive ad-hoc query, HDInsight cluster, Visual Studio

    Hinweis

    IntelliSense schlägt nur die Metadaten des Clusters vor, der auf der HDInsight-Symbolleiste ausgewählt ist.

    Sie können folgende Beispielabfrage verwenden:

    SELECT devicemodel, COUNT(devicemodel) AS deviceCount
    FROM hivesampletable
    GROUP BY devicemodel
    ORDER BY devicemodel
    
  3. Wählen Sie den Ausführungsmodus aus:

    • Interactive

      Wählen Sie in der ersten Dropdownliste die Option Interaktiv und dann Ausführen aus.

      Interactive mode, Hive ad-hoc query, HDInsight cluster, Visual Studio

    • Batch

      Wählen Sie in der ersten Dropdownliste die Option Batch und dann Senden aus. Alternativ können Sie das Dropdownsymbol neben Senden und dann Erweitert auswählen.

      Batch mode, Hive ad-hoc query, HDInsight cluster, Visual Studio

      Wenn Sie unter „Übermitteln“ die Option „Erweitert“ auswählen, wird das Dialogfeld Skript übermitteln angezeigt. Konfigurieren Sie Auftragsname, Argumente, Zusätzliche Konfigurationen und Statusverzeichnis für das Skript.

      Submit Script dialog box, Hive ad-hoc query, HDInsight cluster, Visual Studio

      Hinweis

      Sie können keine Batches an Interactive Query-Cluster senden. Dazu müssen Sie den interaktiven Modus verwenden.

Erstellen einer Hive-Anwendung

So erstellen Sie eine Hive-Lösung und führen Sie sie aus:

  1. Wählen Sie auf der Menüleiste die Option Datei>Neu>Projekt aus.

  2. Wählen Sie im Fenster Neues Projekt erstellen das Suchfeld aus, und geben Sie Hive ein. Wählen Sie dann Hive Application (Hive-Anwendung) und anschließend Weiter aus.

  3. Geben Sie im Fenster Neues Projekt konfigurieren einen Projektnamen ein, wählen Sie den Speicherort des Projekts aus, oder erstellen Sie ihn, und wählen Sie dann Erstellen aus.

    New Hive application, Configure your new project window, HDInsight Visual Studio

  4. Doppelklicken Sie im Projektmappen-Explorer auf Script.hql, um das Skript zu öffnen.

Anzeigen der Auftragszusammenfassung und -ausgabe

Die Auftragszusammenfassung unterscheidet sich zwischen den Modi Batch und Interactive (Interaktiv).

Hive job summary windows, batch and interactive mode, Visual Studio

Verwenden Sie das Symbol Aktualisieren, um den Status zu aktualisieren, bis sich der Auftragsstatus in Abgeschlossen ändert.

  • Wenn Sie die Auftragsdetails im Modus Batch anzeigen möchten, wählen Sie unten die entsprechenden Links aus, um die Auftragsabfrage, die Auftragsausgabe, das Auftragsprotokoll oder YARN-Protokolle anzuzeigen.

  • Die Auftragsdetails im Modus Interaktiv werden in den Bereichen Ausgabe und HiveServer2-Ausgabe angezeigt.

    Hive interactive job output, HDInsight cluster, Visual Studio

Anzeigen von Auftragsdiagrammen

Aktuell werden Auftragsdiagramme nur für Hive-Aufträge angezeigt, die Tez als Ausführungs-Engine verwenden. Informationen zum Aktivieren von Tez finden Sie unter Was sind Apache Hive und HiveQL in Azure HDInsight? Weitere Informationen finden Sie im Abschnitt „Verwenden von Apache Tez anstelle von MapReduce“ unter Optimieren von Apache Hive-Abfragen in Azure HDInsight.

Um alle Operatoren am Scheitelpunkt anzuzeigen, doppelklicken Sie auf die Scheitelpunkte des Auftragsgraphs. Sie können auch auf einen bestimmten Operator zeigen, um weitere Details anzuzeigen.

Auch wenn Tez als Ausführungs-Engine angegeben ist, wird der Auftragsgraph möglicherweise nicht angezeigt, wenn keine Tez-Anwendung gestartet wird. Diese Situation könnte auftreten, wenn der Auftrag keine DML-Anweisungen enthält. Ein anderer Grund wäre, dass die DML-Anweisungen eine Rückgabe liefern können, ohne eine Tez-Anwendung zu starten. Durch SELECT * FROM table1 wird die Tez-Anwendung z. B. nicht gestartet.

Apache Hive job graph, Visual Studio

Anzeigen von Details zur Taskausführung

In der Auftragsdiagramm können Sie Details zur Taskausführung auswählen, um strukturierte und visualisierte Informationen zu Hive-Aufträgen anzeigen. Sie können auch weitere Auftragsinformationen abrufen. Im Fall von Leistungsproblemen können Sie in der Ansicht weitere Details zum Problem anzeigen. Beispielsweise können Sie Informationen zur Funktionsweise jeder Aufgabe und ausführliche Informationen zu den einzelnen Aufgaben (Lesen und Schreiben von Daten, Zeitplan, Start- und Endzeit usw.) anzeigen. Mithilfe der visualisierten Informationen können Sie Auftragskonfigurationen oder die Systemarchitektur optimieren.

Task Execution View window, Data Lake Visual Studio Tools

Anzeigen von Hive-Aufträgen

Sie können Auftragsabfragen, die Auftragsausgabe, Auftragsprotokolle und YARN-Protokolle für Hive-Aufträge anzeigen.

In der neuesten Version der Tools können Sie den Inhalt Ihrer Hive-Aufträge anzeigen, indem Sie YARN-Protokolle erfassen und anzeigen. Ein YARN-Protokoll kann Ihnen bei der Untersuchung von Leistungsproblemen helfen. Weitere Informationen zur Erfassung von YARN-Protokollen in HDInsight finden Sie unter Zugreifen auf Apache Hadoop YARN-Anwendungsprotokolle.

So zeigen Sie Hive-Aufträge an:

  1. Klicken Sie mit der rechten Maustaste auf einen HDInsight-Cluster, und klicken Sie dann auf Aufträge anzeigen.

    View Jobs, Apache Hive, HDInsight cluster, Visual Studio

    Eine Liste der für den Cluster ausgeführten Hive-Aufträge wird angezeigt.

  2. Wählen Sie einen Auftrag aus. Wählen Sie im Fenster Hive Job Summary (Hive-Auftragszusammenfassung) einen der folgenden Links aus:

    • Job Query (Auftragsabfrage)
    • Auftragsausgabe
    • Job Log (Auftragsprotokoll)
    • Yarn-Protokoll

Ausführen von Apache Pig-Skripts

  1. Wählen Sie auf der Menüleiste die Option Datei>Neu>Projekt aus.

  2. Wählen Sie im Fenster Start das Suchfeld aus, und geben Sie Pig ein. Wählen Sie dann die Pig-Anwendung und anschließend Weiter aus.

  3. Geben Sie im Fenster Neues Projekt konfigurieren einen Projektnamen ein, und wählen Sie einen Speicherort für das Projekt aus, oder erstellen Sie einen. Klicken Sie anschließend auf Erstellen.

  4. Doppelklicken Sie im IDE-Bereich Projektmappen-Explorer auf cript.pig, um das Skript zu öffnen.

Feedback und bekannte Probleme

  • Ein Problem, aufgrund dessen mit NULL-Werten gestartete Ergebnisse nicht angezeigt werden, wurde behoben. Wenden Sie sich an das Supportteam, falls die Ausführung bei Ihnen durch dieses Problem blockiert wird.

  • Das von Visual Studio erstellte HQL-Skript wird abhängig von der lokalen Regionseinstellung des Benutzers codiert. Das Skript wird nicht korrekt ausgeführt, wenn Sie es als Binärdatei in einen Cluster hochladen.

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie das Data Lake Tools für Visual Studio-Paket verwenden, um in Visual Studio eine Verbindung mit HDInsight-Clustern herzustellen. Zudem haben Sie gelernt, wie Sie eine Hive-Abfrage ausführen.