Teilen über


Erstellen einer Apache Spark-Auftragsdefinition in Fabric

In diesem Tutorial erfahren Sie, wie Sie eine Spark-Auftragsdefinition in Microsoft Fabric erstellen.

Der Erstellungsvorgang der Spark-Auftragsdefinition ist schnell und einfach, und es gibt mehrere Möglichkeiten für den Einstieg.

Sie können eine Spark-Auftragsdefinition über das Fabric-Portal oder mithilfe der Rest-API von Microsoft Fabric erstellen. Dieser Artikel konzentriert sich auf das Erstellen einer Spark-Auftragsdefinition aus dem Fabric-Portal. Informationen zum Erstellen einer Spark-Auftragsdefinition mithilfe der REST-API finden Sie unter Apache Spark-Auftragsdefinitions-API v1 und Apache Spark-Auftragsdefinitions-API v2.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie Folgendes:

  • Ein Fabric-Mandantenkonto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Ein Arbeitsbereich in Microsoft Fabric. Weitere Informationen finden Sie unter Erstellen und Verwalten von Arbeitsbereichen in Microsoft Fabric.
  • Mindestens ein Seehaus im Arbeitsbereich. Das Lakehouse dient als Standarddateisystem für die Spark-Auftragsdefinition. Weitere Informationen finden Sie unter Erstellen eines Seehauses.
  • Eine Hauptdefinitionsdatei für den Spark-Auftrag. Diese Datei enthält die Anwendungslogik und ist obligatorisch, um einen Spark-Auftrag auszuführen. Jede Spark-Auftragsdefinition kann nur eine Hauptdefinitionsdatei enthalten.

Sie müssen Ihrer Spark-Auftragsdefinition bei der Erstellung einen Namen geben. Der Name muss innerhalb des aktuellen Arbeitsbereichs eindeutig sein. Die neue Spark-Auftragsdefinition wird in Ihrem aktuellen Arbeitsbereich erstellt.

Erstellen einer Spark-Auftragsdefinition im Fabric-Portal

Führen Sie die folgenden Schritte aus, um eine Spark-Auftragsdefinition im Fabric-Portal zu erstellen:

  1. Melden Sie sich beim Microsoft Fabric-Portalan.
  2. Navigieren Sie zu dem gewünschten Arbeitsbereich, in dem Sie die Spark-Auftragsdefinition erstellen möchten.
  3. Wählen Sie " Neue Element>Spark Job Definition" aus.
  4. Geben Sie im Bereich "Neue Spark-Auftragsdefinition " die folgenden Informationen an:
    • Name: Geben Sie einen eindeutigen Namen für die Spark-Auftragsdefinition ein.
    • Standort: Wählen Sie den Speicherort des Arbeitsbereichs aus.
  5. Wählen Sie "Erstellen" aus, um die Spark-Auftragsdefinition zu erstellen.

Ein alternativer Einstiegspunkt zum Erstellen einer Spark-Auftragsdefinition ist die Datenanalyse mithilfe einer SQL-Kachel auf der Fabric-Startseite. Sie können dieselbe Option finden, indem Sie die Kachel "Allgemein" auswählen.

Screenshot, der zeigt, wo die Spark-Auftragsdefinition im Create Hub ausgewählt werden soll.

Wenn Sie die Kachel auswählen, werden Sie aufgefordert, einen neuen Arbeitsbereich zu erstellen oder eine vorhandene zu wählen. Nachdem Sie den Arbeitsbereich ausgewählt haben, wird die Spark-Auftragsdefinitionserstellungsseite geöffnet.

Anpassen einer Spark-Auftragsdefinition für PySpark (Python)

Bevor Sie eine Spark-Auftragsdefinition für PySpark erstellen, benötigen Sie eine Muster-Parkettdatei, die in das Seehaus hochgeladen wurde.

  1. Laden Sie die Muster-Parkettdatei yellow_tripdata_2022-01.Parkett herunter.
  2. Wechseln Sie zum Seehaus, in dem Sie die Datei hochladen möchten.
  3. Laden Sie es in den Abschnitt "Dateien" des Seehauses hoch.

Erstellen einer Spark-Auftragsdefinition für PySpark:

  1. Erstellen Sie eine neue Spark-Auftragsdefinition.

  2. Wählen Sie PySpark (Python) in der Dropdownliste Sprache aus.

  3. Laden Sie die createTablefromParquet.py Beispieldefinitionsdatei herunter. Laden Sie sie als Hauptdefinitionsdatei hoch. Die Hauptdefinitionsdatei (job.Main) ist die Datei, die die Anwendungslogik enthält, und ist obligatorisch, um einen Spark-Auftrag auszuführen. Für jede Spark-Auftragsdefinition kann nur eine Hauptdefinitionsdatei hochgeladen werden.

    Hinweis

    Sie können die Hauptdefinitionsdatei vom lokalen Desktop oder aus einem vorhandenem Azure Data Lake Storage (ADLS) Gen2-Pfad hochladen, indem Sie den vollständigen ABFSS-Pfad der Datei angeben. Beispiel: abfss://your-storage-account-name.dfs.core.windows.net/your-file-path.

  4. Laden Sie optional Referenzdateien als .py (Python)-Dateien hoch. Die Referenzdateien sind die Python-Module, die die Hauptdefinitionsdatei importiert. Genau wie die Hauptdefinitionsdatei können Sie die Verweisdateien von Ihrem Desktop oder aus einem vorhandenen ADLS Gen2-Pfad hochladen. Es werden mehrere Referenzdateien unterstützt.

    Tipp

    Wenn Sie einen ADLS Gen2-Pfad verwenden, stellen Sie sicher, dass auf die Datei zugegriffen werden kann. Sie müssen dem Benutzerkonto, das den Auftrag ausführt, die richtige Berechtigung für das Speicherkonto erteilen. Hier sind zwei verschiedene Möglichkeiten, wie Sie die Berechtigung erteilen können:

    • Weisen Sie dem Benutzerkonto die Rolle „Mitwirkender” für das Speicherkonto zu.
    • Weisen Sie dem Benutzerkonto Lese- und Ausführungsberechtigungen für die Datei über die Zugriffssteuerungsliste (ACL) für ADLS Gen2 zu.

    Bei einem manuellen Ausführen wird das Konto des aktuellen angemeldeten Benutzers zum Ausführen des Auftrags verwendet.

  5. Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an. Verwenden Sie das Leerzeichen als Trennzeichen, um die Argumente zu trennen.

  6. Fügen Sie dem Auftrag den Lakehouse-Verweis hinzu. Sie müssen dem Auftrag mindestens einen Lakehouse-Verweis hinzugefügt haben. Dieses Lakehouse stellt den Lakehouse-Standardkontext für den Auftrag dar.

    Mehrere Lakehouse-Verweise werden unterstützt. Den nicht standardmäßigen Lakehouse-Namen und die vollständige OneLake-URL finden Sie auf der Seite Spark-Einstellungen.

    Screenshot eines Beispiels für einen ausgefüllten Hauptdefinitionsdateibildschirm.

Anpassen einer Spark-Auftragsdefinition für Scala/Java

Erstellen einer Spark-Auftragsdefinition für Scala/Java:

  1. Erstellen Sie eine neue Spark-Auftragsdefinition.

  2. Wählen Sie in der Dropdownliste SpracheSpark(Scala/Java) aus.

  3. Laden Sie die Hauptdefinitionsdatei als .jar (Java)-Datei hoch. Die Hauptdefinitionsdatei ist die Datei, die die Anwendungslogik dieses Auftrags enthält, und ist obligatorisch, um einen Spark-Auftrag auszuführen. Für jede Spark-Auftragsdefinition kann nur eine Hauptdefinitionsdatei hochgeladen werden. Geben Sie den Main-Klassennamen an.

  4. Laden Sie optional Referenzdateien als .jar (Java)-Dateien hoch. Die Referenzdateien sind die Dateien, auf die die Hauptdefinitionsdatei verweist/importiert.

  5. Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an.

  6. Fügen Sie dem Auftrag den Lakehouse-Verweis hinzu. Sie müssen dem Auftrag mindestens einen Lakehouse-Verweis hinzugefügt haben. Dieses Lakehouse stellt den Lakehouse-Standardkontext für den Auftrag dar.

Anpassen einer Spark-Auftragsdefinition für R

Erstellen einer Spark-Auftragsdefinition für SparkR(R):

  1. Erstellen Sie eine neue Spark-Auftragsdefinition.

  2. Wählen Sie in der Dropdownliste Sprache die Option SparkR(R) aus.

  3. Laden Sie die Hauptdefinitionsdatei als ( .r R)-Datei hoch. Die Hauptdefinitionsdatei ist die Datei, die die Anwendungslogik dieses Auftrags enthält, und ist obligatorisch, um einen Spark-Auftrag auszuführen. Für jede Spark-Auftragsdefinition kann nur eine Hauptdefinitionsdatei hochgeladen werden.

  4. Laden Sie optional Referenzdateien als .r (R)-Dateien hoch. Die Verweisdateien sind die Dateien, auf die die Hauptdefinitionsdatei verweist bzw. die von dieser importiert werden.

  5. Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an.

  6. Fügen Sie dem Auftrag den Lakehouse-Verweis hinzu. Sie müssen dem Auftrag mindestens einen Lakehouse-Verweis hinzugefügt haben. Dieses Lakehouse stellt den Lakehouse-Standardkontext für den Auftrag dar.

Hinweis

Die Spark-Auftragsdefinition wird in Ihrem aktuellen Arbeitsbereich erstellt.

Optionen zum Anpassen von Spark-Auftragsdefinitionen

Es gibt eine Reihe von Optionen, um die Ausführung der Spark-Auftragsdefinition weiter anzupassen.

  • Spark Compute: Auf der Registerkarte "Spark Compute " können Sie die Fabric-Laufzeitversion sehen, die zum Ausführen des Spark-Auftrags verwendet wird. Sie können auch die Spark-Konfigurationseinstellungen sehen, die zum Ausführen des Auftrags verwendet werden. Sie können die Spark-Konfigurationseinstellungen anpassen, indem Sie die Schaltfläche "Hinzufügen " auswählen.

  • Optimierung: Auf der Registerkarte Optimierung können Sie die Wiederholungsrichtlinie für den Auftrag aktivieren und einrichten. Wenn sie aktiviert ist, wird der Auftrag bei einem Fehler wiederholt. Sie können ferner die maximale Anzahl von Wiederholungen und das Intervall zwischen den Wiederholungen festlegen. Für jeden Wiederholungsversuch wird der Auftrag neu gestartet. Stellen Sie sicher, dass der Auftrag idempotent ist.

    Screenshot, der zeigt, wo die Wiederholungsrichtlinie eingerichtet werden soll.