Verwenden der Apache Ambari-Hive-Ansicht mit Apache Hadoop in HDInsightUse Apache Ambari Hive View with Apache Hadoop in HDInsight

In diesem Artikel wird das folgende Thema erläutert: Ausführen von Apache Hive-Abfragen mithilfe der Ambari-Hive-Ansicht.Learn how to run Hive queries by using Apache Ambari Hive View. In der Hive-Ansicht können Sie Hive-Abfragen direkt in Ihrem Webbrowser erstellen, optimieren und ausführen.The Hive View allows you to author, optimize, and run Hive queries from your web browser.

VoraussetzungenPrerequisites

Ausführen einer Hive-AbfrageRun a Hive query

  1. Wählen Sie im Azure-Portal Ihren Cluster aus.From the Azure portal, select your cluster. Anweisungen dazu finden Sie unter Auflisten und Anzeigen von Clustern.See List and show clusters for instructions. Der Cluster wird in einem neuen Blatt des Portals geöffnet.The cluster is opened in a new portal blade.

  2. Wählen Sie aus Clusterdashboards die Option Ambari-Ansichten aus.From Cluster dashboards, select Ambari views. Wenn Sie aufgefordert werden, sich zu authentifizieren, verwenden Sie den Kontonamen und das Kennwort der Clusteranmeldung (standardmäßig admin), die Sie bei der Erstellung des Clusters angegeben haben.When prompted to authenticate, use the cluster login (default admin) account name and password that you provided when you created the cluster.

  3. Wählen Sie aus der Liste der Ansichten die Hive-Ansicht aus.From the list of views, select Hive View.

    Die ausgewählte Hive-Ansicht

    Die Seite „Hive-Ansicht“ ähnelt der folgenden Abbildung:The Hive view page is similar to the following image:

    Abbildung des Arbeitsblatts „Abfragen“ für die Hive-Ansicht

  4. Kopieren Sie folgende HiveQL-Anweisungen aus der Registerkarte Query (Abfrage) in das Arbeitsblatt:From the Query tab, paste the following HiveQL statements into the worksheet:

    DROP TABLE log4jLogs;
    CREATE EXTERNAL TABLE log4jLogs(
        t1 string,
        t2 string,
        t3 string,
        t4 string,
        t5 string,
        t6 string,
        t7 string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
    STORED AS TEXTFILE LOCATION '/example/data/';
    SELECT t4 AS loglevel, COUNT(*) AS count FROM log4jLogs 
        WHERE t4 = '[ERROR]' 
        GROUP BY t4;
    

    Diese Anweisungen führen die folgenden Aktionen aus:These statements perform the following actions:

    • DROP TABLE: Löscht Tabelle und Datendatei, falls die Tabelle bereits existiert.DROP TABLE: Deletes the table and the data file, in case the table already exists.

    • CREATE EXTERNAL TABLE: Erstellt eine neue „externe“ Tabelle in Hive.CREATE EXTERNAL TABLE: Creates a new "external" table in Hive. Externe Tabellen speichern nur die Tabellendefinition in Hive.External tables store only the table definition in Hive. Die Daten verbleiben an ihrem ursprünglichen Speicherort.The data is left in the original location.

    • ROW FORMAT: Gibt an, wie die Daten formatiert werden.ROW FORMAT: Shows how the data is formatted. In diesem Fall werden die Felder in den einzelnen Protokollen durch Leerzeichen getrennt.In this case, the fields in each log are separated by a space.

    • STORED AS TEXTFILE LOCATION: Zeigt den Speicherort für die Daten an, und dass sie als Text gespeichert sind.STORED AS TEXTFILE LOCATION: Shows where the data is stored, and that it's stored as text.

    • SELECT: Wählt die Anzahl aller Zeilen aus, bei denen die Spalte t4 den Wert [ERROR] enthält.SELECT: Selects a count of all rows where column t4 contains the value [ERROR].

    Wichtig

    Belassen Sie die Auswahl der Database (Datenbank) bei default (Standard).Leave the Database selection at default. Die Beispiele in diesem Dokument verwenden die Standarddatenbank, die in HDInsight enthalten ist.The examples in this document use the default database included with HDInsight.

  5. Wählen Sie zum Starten der Abfrage Execute (Ausführen) unter dem Arbeitsblatt aus.To start the query, select Execute below the worksheet. Die Schaltfläche wird nun orange angezeigt, und der Text ändert sich in Stop (Beenden).The button turns orange and the text changes to Stop.

  6. Nach Abschluss der Abfrage werden in der Registerkarte Results (Ergebnisse) die Ergebnisse des Vorgangs angezeigt.After the query has finished, the Results tab displays the results of the operation. Der folgende Text ist das Ergebnis der Abfrage:The following text is the result of the query:

     loglevel       count
     [ERROR]        3
    

    Sie können auf der Registerkarte LOG die vom Auftrag erstellten Protokollinformationen anzeigen.You can use the LOG tab to view the logging information that the job created.

    Tipp

    Laden Sie Ergebnisse aus dem Dropdown-Dialogfeld Actions (Aktionen) unter der Registerkarte Results (Ergebnisse) herunter oder speichern Sie sie.Download or save results from the Actions drop-down dialog box under the Results tab.

Visuelle ErläuterungVisual explain

Klicken Sie auf die Registerkarte Visual Explain (Visuelle Erläuterung) unter dem Arbeitsblatt, um eine Visualisierung des Abfrageplans anzuzeigen.To display a visualization of the query plan, select the Visual Explain tab below the worksheet.

Die Ansicht Visuelle Erläuterung der Abfrage kann das Verständnis des Ablaufs komplexer Abfragen erleichtern.The Visual Explain view of the query can be helpful in understanding the flow of complex queries.

Tez-BenutzeroberflächeTez UI

Klicken Sie auf die Registerkarte Tez UI unter dem Arbeitsblatt, um die Tez-Benutzeroberfläche für die Abfrage anzuzeigen.To display the Tez UI for the query, select the Tez UI tab below the worksheet.

Wichtig

Tez wird nicht für die Auflösung aller Abfragen verwendet.Tez is not used to resolve all queries. Viele Abfragen können ohne Tez aufgelöst werden.You can resolve many queries without using Tez.

Anzeige des AuftragsverlaufsView job history

Die Registerkarte Jobs (Aufträge) zeigt einen Verlauf der Hive-Abfragen an.The Jobs tab displays a history of Hive queries.

Abbildung des Auftragsverlaufs

DatenbanktabellenDatabase tables

Sie können die Registerkarte Tables (Tabellen) verwenden, um innerhalb einer Hive-Datenbank mit Tabellen zu arbeiten.You can use the Tables tab to work with tables within a Hive database.

Abbildung der Registerkarte „Tabellen“

Gespeicherte AbfragenSaved queries

In der Registerkarte Query können Sie optional auch Abfragen speichern.From the Query tab, you can optionally save queries. Nachdem Sie eine Abfrage gespeichert haben, können Sie diese von der Registerkarte Saved Queries aus wiederverwenden.After you save a query, you can reuse it from the Saved Queries tab.

Abbildung der Registerkarte „Gespeicherte Abfragen“

Tipp

Gespeicherte Abfragen werden im Standard-Clusterspeicher gespeichert.Saved queries are stored in the default cluster storage. Sie finden die gespeicherten Abfragen im Pfad /user/<username>/hive/scripts.You can find the saved queries under the path /user/<username>/hive/scripts. Diese werden als Textdateien vom Typ .hql gespeichert.These are stored as plain-text .hql files.

Wenn Sie den Cluster löschen, den Speicher jedoch beibehalten, können Sie die Abfragen mit einem Hilfsprogramm wie Azure Storage-Explorer oder Data Lake Storage-Explorer (aus dem Azure-Portal) abrufen.If you delete the cluster, but keep the storage, you can use a utility like Azure Storage Explorer or Data Lake Storage Explorer (from the Azure Portal) to retrieve the queries.

Benutzerdefinierte FunktionenUser-defined functions

Sie können Hive über benutzerdefinierte Funktionen (UDF) erweitern.You can extend Hive through user-defined functions (UDF). Mit einer UDF-Datei können Sie Funktionen oder Logik implementieren, die sich nicht einfach in HiveQL modellieren lässt.Use a UDF to implement functionality or logic that isn't easily modeled in HiveQL.

Deklarieren und speichern Sie eine Gruppe von UDFs mit der Registerkarte UDF ganz oben in der Hive-Ansicht.Declare and save a set of UDFs by using the UDF tab at the top of the Hive View. Diese UDFs können im Abfrage-Editor verwendet werden.These UDFs can be used with the Query Editor.

Abbildung der Registerkarte „UDF“

Nachdem Sie der Hive-Ansicht eine benutzerdefinierte Funktion hinzugefügt haben, wird ganz unten im Abfrage-Editor die Schaltfläche Insert udfs angezeigt.After you've added a UDF to the Hive View, an Insert udfs button appears at the bottom of the Query Editor. Wenn Sie diesen Eintrag wählen, wird eine Dropdownliste mit den UDFs angezeigt, die in der Hive-Ansicht definiert sind.Selecting this entry displays a drop-down list of the UDFs defined in the Hive View. Durch das Auswählen einer UDF werden Ihrer Abfrage HiveQL-Anweisungen hinzugefügt, um die UDF zu aktivieren.Selecting a UDF adds HiveQL statements to your query to enable the UDF.

Beispielsweise können Sie eine UDF mit den folgenden Eigenschaften definieren:For example, if you have defined a UDF with the following properties:

  • Ressourcenname: myudfsResource name: myudfs

  • Ressourcenpfad: /myudfs.jarResource path: /myudfs.jar

  • UDF-Name: myawesomeudfUDF name: myawesomeudf

  • UDF-Klassenname: com.myudfs.AwesomeUDF class name: com.myudfs.Awesome

Mit der Schaltfläche Insert udfs wird ein Eintrag mit dem Namen myudfs angezeigt, der über eine weitere Dropdownliste für jede UDF verfügt, die für diese Ressource definiert ist.Using the Insert udfs button displays an entry named myudfs, with another drop-down list for each UDF defined for that resource. In diesem Fall ist das myawesomeudf.In this case, it is myawesomeudf. Wenn Sie diesen Eintrag auswählen, wird am Anfang der Abfrage Folgendes hinzugefügt:Selecting this entry adds the following to the beginning of the query:

add jar /myudfs.jar;
create temporary function myawesomeudf as 'com.myudfs.Awesome';

Sie können die UDF dann in Ihrer Abfrage verwenden.You can then use the UDF in your query. Beispiel: SELECT myawesomeudf(name) FROM people;.For example, SELECT myawesomeudf(name) FROM people;.

Weitere Informationen zur Verwendung von UDFs mit Hive unter HDInsight finden Sie in den folgenden Artikeln:For more information on using UDFs with Hive on HDInsight, see the following articles:

Hive-EinstellungenHive settings

Sie können verschiedene Hive-Einstellungen ändern, z.B. die Ausführungs-Engine für Hive von Tez (Standard) in MapReduce.You can change various Hive settings, such as changing the execution engine for Hive from Tez (the default) to MapReduce.

Nächste SchritteNext steps

Allgemeine Informationen zu Hive in HDInsight:For general information on Hive on HDInsight:

Informationen zu anderen Möglichkeiten, wie Sie mit Hadoop in HDInsight arbeiten können:For information on other ways you can work with Hadoop on HDInsight: