Schnellstart: Erstellen eines Apache Spark-Clusters in HDInsight mithilfe einer VorlageQuickstart: Create an Apache Spark cluster in HDInsight using template

Hier erfahren Sie, wie Sie einen Apache Spark-Cluster in Azure HDInsight erstellen und Spark-SQL-Abfragen für Apache Hive-Tabellen ausführen.Learn how to create an Apache Spark cluster in Azure HDInsight, and how to run Spark SQL queries against Apache Hive tables. Apache Spark ermöglicht schnelle Datenanalysen und Clustercomputing mit In-Memory-Verarbeitung.Apache Spark enables fast data analytics and cluster computing using in-memory processing. Informationen zu Spark in HDInsight finden Sie unter Übersicht: Apache Spark in Azure HDInsight.For information on Spark on HDInsight, see Overview: Apache Spark on Azure HDInsight.

In diesem Schnellstarttutorial verwenden Sie eine Resource Manager-Vorlage, um einen HDInsight-Spark-Cluster zu erstellen.In this quickstart, you use a Resource Manager template to create an HDInsight Spark cluster. Ähnliche Vorlagen finden Sie unter Azure-Schnellstartvorlagen.Similar templates can be viewed at Azure quickstart templates. Die Vorlagenreferenz finden Sie hier.The template reference can be found here.

Der Cluster verwendet Azure Storage Blob als Clusterspeicher.The cluster uses Azure Storage Blobs as the cluster storage. Weitere Informationen zur Verwendung von Data Lake Storage Gen2 finden Sie unter Schnellstart: Einrichten von Clustern in HDInsight.For more information on using Data Lake Storage Gen2, see Quickstart: Set up clusters in HDInsight.

Wichtig

Die Abrechnung für die HDInsight-Cluster erfolgt anteilsmäßig auf Minutenbasis und ist unabhängig von der Verwendung.Billing for HDInsight clusters is prorated per minute, whether you are using them or not. Daher sollten Sie Ihren Cluster nach der Verwendung unbedingt wieder löschen.Be sure to delete your cluster after you have finished using it. Weitere Informationen finden Sie im Abschnitt Bereinigen von Ressourcen in diesem Artikel.For more information, see the Clean up resources section of this article.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Erstellen eines HDInsight Spark-ClustersCreate an HDInsight Spark cluster

Erstellen Sie einen HDInsight Spark-Cluster unter Verwendung einer Azure Resource Manager-Vorlage.Create an HDInsight Spark cluster using an Azure Resource Manager template. Die Vorlage finden Sie auf GitHub.The template can be found in GitHub. Informationen zur JSON-Syntax und zu den Eigenschaften des Clusters finden Sie unter Microsoft.HDInsight/clusters.For the JSON syntax and properties of the cluster, see Microsoft.HDInsight/clusters.

  1. Wählen Sie den folgenden Link aus, um die Vorlage im Azure-Portal auf einer neuen Browserregisterkarte zu öffnen:Select the following link to open the template in the Azure portal in a new browser tab:

    Bereitstellen in AzureDeploy to Azure

  2. Geben Sie die folgenden Werte ein:Enter the following values:

    EigenschaftProperty WertValue
    AbonnementSubscription Wählen Sie Ihr Azure-Abonnement für die Erstellung des Clusters aus.Select your Azure subscription used for creating this cluster. Für diesen Cluster wird das Abonnement <Azure-Abonnementname> verwendet.The subscription used for this quickstart is <Azure subscription name>.
    RessourcengruppeResource group Erstellen Sie eine Ressourcengruppe, oder wählen Sie eine vorhandene aus.Create a resource group or select an existing one. Die Ressourcengruppe wird verwendet, um Azure-Ressourcen für Ihre Projekte zu verwalten.Resource group is used to manage Azure resources for your projects. Für diesen Schnellstart wird der neue Ressourcengruppenname myspark20180403rg verwendet.The new resource group name used for this quickstart is myspark20180403rg.
    LocationLocation Wählen Sie einen Speicherort für die Ressourcengruppe aus.Select a location for the resource group. Die Vorlage verwendet diesen Standort sowohl für die Erstellung des Clusters als auch für den Standardclusterspeicher.The template uses this location for creating the cluster as well as for the default cluster storage. Für diese Schnellstartanleitung wird der Speicherort USA, Osten 2 verwendet.The location used for this quickstart is East US 2.
    ClusterNameClusterName Geben Sie einen Namen für den HDInsight-Cluster ein, den Sie erstellen möchten.Enter a name for the HDInsight cluster that you want to create. Für diesen Schnellstart wird der neue Clustername myspark20180403 verwendet.The new cluster name used for this quickstart is myspark20180403.
    Clusteranmeldename und KennwortCluster login name and password Der Standardanmeldename lautet „admin“. Legen Sie ein Kennwort für die Clusteranmeldung fest.The default login name is admin. Choose a password for the cluster login. Für diesen Schnellstart wird der Anmeldename admin verwendet.The login name used for this quickstart is admin.
    SSH-Benutzername und -KennwortSSH user name and password Legen Sie ein Kennwort für den SSH-Benutzer fest.Choose a password for the SSH user. Für diesen Schnellstart wird der SSH-Benutzername sshuser verwendet.The SSH user name used for this quickstart is sshuser.

    Erstellen eines HDInsight Spark-Clusters mit einer Azure Resource Manager-VorlageCreate HDInsight Spark cluster using an Azure Resource Manager template

  3. Wählen Sie Ich stimme den oben genannten Geschäftsbedingungen zu, An Dashboard anheften und anschließend Kaufen aus.Select I agree to the terms and conditions stated above, select Pin to dashboard, and then select Purchase. Es wird eine neue Kachel mit dem Titel Deploying Template deployment (Vorlagenbereitstellung bereitstellen) angezeigt.You can see a new tile titled Deploying Template deployment. Das Erstellen des Clusters dauert ca. 20 Minuten.It takes about 20 minutes to create the cluster. Der Cluster muss erstellt werden, bevor Sie mit dem nächsten Abschnitt fortfahren können.The cluster must be created before you can proceed to the next session.

Sollte bei der HDInsight-Clustererstellung ein Problem auftreten, verfügen Sie unter Umständen nicht über die erforderlichen Berechtigungen.If you run into an issue with creating HDInsight clusters, it could be that you do not have the right permissions to do so. Weitere Informationen finden Sie unter Voraussetzungen für die Zugriffssteuerung.For more information, see Access control requirements.

Installieren von IntelliJ/Eclipse für Spark-AnwendungenInstall IntelliJ/Eclipse for Spark application

Verwenden Sie das Plug-In „Azure-Toolkit für IntelliJ“/„Azure-Toolkit für Eclipse“, um in Scala geschriebene Spark-Anwendungen zu entwickeln und diese dann direkt aus der IntelliJ-/Eclipse-IDE (Integrated Development Environment, integrierte Entwicklungsumgebung) an einen Azure HDInsight Spark-Cluster zu senden.Use the Azure Toolkit for IntelliJ/Eclipse plug-in to develop Spark applications written in Scala, and then submit them to an Azure HDInsight Spark cluster directly from the IntelliJ/Eclipse integrated development environment (IDE). Weitere Informationen finden Sie unter Erstellen von Spark-Anwendungen für einen HDInsight-Cluster mit dem Azure Toolkit für IntelliJ bzw. unter Erstellen von Spark-Anwendungen für HDInsight-Cluster mit dem Azure-Toolkit für Eclipse.For more information, see Use IntelliJ to author/submit Spark application and Use Eclipse to author/submit Spark application.

Installieren von VS Code für PySpark-/Hive-AnwendungenInstall VSCode for PySpark/hive applications

Hier erfahren Sie, wie Sie Azure HDInsight Tools for Visual Studio Code (VS Code) verwenden, um Hive-Batchaufträge, interaktive Hive-Abfragen, einen PySpark-Batch und interaktive PySpark-Skripts zu erstellen und zu übermitteln.Learn how to use the Azure HDInsight Tools for Visual Studio Code (VSCode) to create and submit Hive batch jobs, interactive Hive queries, PySpark batch, and PySpark interactive scripts. Azure HDInsight Tools kann auf den von VS Code unterstützten Plattformen installiert werden.The Azure HDInsight Tools can be installed on the platforms that are supported by VSCode. Hierzu zählen Windows, Linux und macOS.These include Windows, Linux, and macOS. Weitere Informationen finden Sie unter Verwenden von Azure HDInsight Tools for Visual Studio Code.For more information, see Use VSCode to author/submit PySpark application.

Erstellen eines Jupyter NotebooksCreate a Jupyter notebook

Jupyter Notebook ist eine interaktive Notebook-Umgebung, die verschiedene Programmiersprachen unterstützt.Jupyter Notebook is an interactive notebook environment that supports various programming languages. Das Notebook ermöglicht Ihnen, mit Ihren Daten zu interagieren, Code mit Markdowntext zu kombinieren und einfache Visualisierungen durchzuführen.The notebook allows you to interact with your data, combine code with markdown text and perform simple visualizations.

  1. Öffnen Sie das Azure-Portal.Open the Azure portal.

  2. Wählen Sie HDInsight-Cluster und dann den von Ihnen erstellten Cluster aus.Select HDInsight clusters, and then select the cluster you created.

    Öffnen eines HDInsight-Clusters im Azure-Portal

  3. Klicken Sie im Portal im Abschnitt Clusterdashboards auf Jupyter-Notebook.From the portal, in Cluster dashboards section, click on Jupyter Notebook. Geben Sie die Anmeldeinformationen für den Cluster ein, wenn Sie dazu aufgefordert werden.If prompted, enter the cluster login credentials for the cluster.

    Öffnen von Jupyter Notebook zum Ausführen einer interaktiven Spark SQL-AbfrageOpen Jupyter Notebook to run interactive Spark SQL query

  4. Wählen Sie Neu > PySpark aus, um ein Notebook zu erstellen.Select New > PySpark to create a notebook.

    Erstellen eines Jupyter Notebooks zum Ausführen einer interaktiven Spark SQL-AbfrageCreate a Jupyter Notebook to run interactive Spark SQL query

    Ein neues Notebook mit dem Namen „Untitled“ (Untitled.pynb) wird erstellt und geöffnet.A new notebook is created and opened with the name Untitled(Untitled.pynb).

Ausführen von Spark SQL-AnweisungenRun Spark SQL statements

SQL (Structured Query Language) ist die gängigste und am häufigsten verwendete Sprache zum Abfragen und Transformieren von Daten.SQL (Structured Query Language) is the most common and widely used language for querying and transforming data. Spark SQL fungiert als Erweiterung von Apache Spark für die Verarbeitung strukturierter Daten mit der vertrauten SQL-Syntax.Spark SQL functions as an extension to Apache Spark for processing structured data, using the familiar SQL syntax.

  1. Überprüfen Sie, ob der Kernel bereit ist.Verify the kernel is ready. Der Kernel ist bereit, wenn im Notebook neben dem Kernelnamen ein leerer Kreis angezeigt wird.The kernel is ready when you see a hollow circle next to the kernel name in the notebook. Ein ausgefüllter Kreis gibt an, dass der Kernel ausgelastet ist.Solid circle denotes that the kernel is busy.

    Hive-Abfrage in HDInsight SparkHive query in HDInsight Spark

    Wenn Sie das Notebook zum ersten Mal starten, führt der Kernel im Hintergrund einige Aufgaben durch.When you start the notebook for the first time, the kernel performs some tasks in the background. Warten Sie, bis der Kernel bereit ist.Wait for the kernel to be ready.

  2. Fügen Sie den folgenden Code in eine leere Zelle ein, und drücken Sie UMSCHALT+EINGABE , um den Code auszuführen.Paste the following code in an empty cell, and then press SHIFT + ENTER to run the code. Der Befehl listet die Hive-Tabellen im Cluster auf:The command lists the Hive tables on the cluster:

    %%sql
    SHOW TABLES
    

    Wenn Sie eine Jupyter Notebook-Instanz mit Ihrem HDInsight Spark-Cluster verwenden, erhalten Sie eine vordefinierte spark-Sitzung, den Sie zum Ausführen von Hive-Abfragen mit Spark SQL verwenden können.When you use a Jupyter Notebook with your HDInsight Spark cluster, you get a preset spark session that you can use to run Hive queries using Spark SQL. %%sql weist Jupyter Notebook an, die vordefinierte spark-Sitzung für die Ausführung der Hive-Abfrage zu verwenden.%%sql tells Jupyter Notebook to use the preset spark session to run the Hive query. Die Abfrage ruft die ersten zehn Zeilen aus einer Hive-Tabelle (hivesampletable) ab, die standardmäßig in allen HDInsight-Clustern enthalten ist.The query retrieves the top 10 rows from a Hive table (hivesampletable) that comes with all HDInsight clusters by default. Wenn Sie die Abfrage erstmals übermitteln, erstellt Jupyter eine Spark-Anwendung für das Notebook.The first time you submit the query Jupyter will create Spark Application for the notebook. Dieser Vorgang dauert ungefähr 30 Sekunden.It takes about 30 seconds to complete. Sobald die Spark-Anwendung bereit ist, wird die Abfrage innerhalb etwa einer Sekunde ausgeführt, und die Ergebnisse werden zurückgegeben.Once the spark application is ready the query is executed in about a second and produces the results. Die Ausgabe sieht wie folgt aus:The output looks like:

    Hive-Abfrage in HDInsight SparkHive query in HDInsight Spark

    Bei jeder Ausführung einer Abfrage in Jupyter wird auf der Titelleiste Ihres Webbrowserfensters neben dem Notebooktitel der Status (Beschäftigt) angezeigt.Every time you run a query in Jupyter, your web browser window title shows a (Busy) status along with the notebook title. Außerdem sehen Sie in der rechten oberen Ecke einen ausgefüllten Kreis neben dem Text PySpark.You also see a solid circle next to the PySpark text in the top-right corner.

  3. Führen Sie eine weitere Abfrage aus, um die Daten in hivesampletable anzuzeigen.Run another query to see the data in hivesampletable.

    %%sql
    SELECT * FROM hivesampletable LIMIT 10
    

    Der Bildschirm wird aktualisiert, und die Ausgabe der Abfrage wird angezeigt.The screen shall refresh to show the query output.

    Hive-Abfrageausgabe in HDInsight SparkHive query output in HDInsight Spark

  4. Wählen Sie im Menü Datei des Notebooks die Option Schließen und Anhalten aus.From the File menu on the notebook, select Close and Halt. Durch Herunterfahren des Notebooks werden die Clusterressourcen freigegeben (einschließlich der Spark-Anwendung).Shutting down the notebook releases the cluster resources, including Spark Application.

Bereinigen von RessourcenClean up resources

HDInsight speichert Ihre Daten und Jupyter-Notebooks in Azure Storage oder Azure Data Lake Store, sodass Sie einen Cluster problemlos löschen können, wenn er nicht verwendet wird.HDInsight saves your data and Jupyter notebooks in Azure Storage or Azure Data Lake Store, so you can safely delete a cluster when it is not in use. Für einen HDInsight-Cluster fallen auch dann Gebühren an, wenn er nicht verwendet wird.You are also charged for an HDInsight cluster, even when it is not in use. Da die Gebühren für den Cluster erheblich höher sind als die Kosten für den Speicher, ist es sinnvoll, nicht verwendete Cluster zu löschen.Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they are not in use. Wenn Sie vorhaben, sofort mit dem Tutorial unter Nächste Schritte fortzufahren, können Sie den Cluster beibehalten.If you plan to work on the tutorial listed in Next steps immediately, you might want to keep the cluster.

Wechseln Sie zurück zum Azure-Portal, und wählen Sie Löschen aus.Switch back to the Azure portal, and select Delete.

Löschen eines HDInsight-ClustersDelete an HDInsight cluster

Sie können auch den Namen der Ressourcengruppe auswählen, um die Seite für die Ressourcengruppe zu öffnen, und dann Ressourcengruppe löschen auswählen.You can also select the resource group name to open the resource group page, and then select Delete resource group. Indem Sie die Ressourcengruppe löschen, löschen Sie sowohl den HDInsight Spark-Cluster als auch das Standardspeicherkonto.By deleting the resource group, you delete both the HDInsight Spark cluster, and the default storage account.

Nächste SchritteNext steps

In diesem Schnellstarttutorial haben Sie erfahren, wie Sie einen HDInsight Spark-Cluster erstellen und eine einfache Spark SQL-Abfrage ausführen.In this quickstart, you learned how to create an HDInsight Spark cluster and run a basic Spark SQL query. Im nächsten Tutorial erfahren Sie, wie Sie mithilfe eines HDInsight Spark-Clusters interaktive Abfragen für Beispieldaten ausführen.Advance to the next tutorial to learn how to use an HDInsight Spark cluster to run interactive queries on sample data.