Erstellen einer Apache Spark-Auftragsdefinition in Fabric
In diesem Tutorial erfahren Sie, wie Sie eine Spark-Auftragsdefinition in Microsoft Fabric erstellen.
Voraussetzungen
Bevor Sie beginnen, benötigen Sie Folgendes:
- Ein Fabric-Mandantenkonto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
Tipp
Zum Ausführen des Spark-Auftragsdefinitionselements sind die Hauptdefinitionsdatei und der Lakehouse-Standardkontext erforderlich. Wenn Sie kein Lakehouse haben, können Sie eins erstellen, indem Sie die Schritte unter Erstellen eines Lakehouse ausführen.
Erstellen einer Spark-Auftragsdefinition
Der Erstellungsvorgang der Spark-Auftragsdefinition ist schnell und einfach, und es gibt mehrere Möglichkeiten für den Einstieg.
Optionen zum Erstellen einer Spark-Auftragsdefinition
Es gibt eine Reihe von Möglichkeiten, mit dem Erstellungsprozess zu beginnen:
Datentechnik-Homepage: Sie können problemlos eine Spark-Auftragsdefinition über die Karte Spark-Auftragsdefinition unter dem Abschnitt Neu auf der Homepage erstellen.
Arbeitsbereichsansicht: Sie können eine Spark-Auftragsdefinition auch über die Arbeitsbereichsansicht erstellen, wenn Sie sich in der Datentechnik-Umgebung befinden, indem Sie die Dropdownliste Neu verwenden.
Erstellen eines Hubs: Ein weiterer Einstiegspunkt zum Erstellen einer Spark-Auftragsdefinition befindet sich auf der Seite zum Erstellen eines Hubs unter Datentechnik.
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 für PySpark (Python)
Erstellen einer Spark-Auftragsdefinition für PySpark:
Laden Sie die Parquet-Beispielsdatei yellow_tripdata_2022-01.parquet herunter, und laden Sie sie in den Dateiabschnitt des Lakehouse hoch.
Erstellen einer neuen Spark-Auftragsdefinition.
Wählen Sie PySpark (Python) in der Dropdownliste Sprache aus.
Laden Sie das Beispiel createTablefromParquet.py herunter, und laden Sie es als die 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.
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
.Laden Sie Verweisdateien als PY-Dateien hoch. Die Verweisdateien sind die Python-Module, die von der Hauptdefinitionsdatei importiert werden. 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, müssen Sie dem Benutzerkonto, das den Auftrag ausführt, die richtige Berechtigung für das Speicherkonto zuweisen, um sicherzustellen, dass auf die Datei zugegriffen werden kann. Im Anschluss finden Sie zwei Möglichkeiten hierfür:
- 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 einer manuellen Ausführung wird das Konto des aktuell angemeldeten Benutzers verwendet, um den Auftrag auszuführen.
Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an. Verwenden Sie das Leerzeichen als Trennzeichen, um die Argumente zu trennen.
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.
Eine Spark-Auftragsdefinition für Scala/Java erstellt
Erstellen einer Spark-Auftragsdefinition für Scala/Java:
Erstellen einer neuen Spark-Auftragsdefinition.
Wählen Sie in der Dropdownliste SpracheSpark(Scala/Java) aus.
Laden Sie die Hauptdefinitionsdatei als JAR-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.
Laden Sie Verweisdateien als JAR-Dateien hoch. Die Verweisdateien sind die Dateien, auf die die Hauptdefinitionsdatei verweist bzw. die von dieser importiert werden.
Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an.
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.
Erstellen einer Spark-Auftragsdefinition für R
Erstellen einer Spark-Auftragsdefinition für SparkR(R):
Erstellen einer neuen Spark-Auftragsdefinition.
Wählen Sie in der Dropdownliste Sprache die Option SparkR(R) aus.
Laden Sie die Hauptdefinitionsdatei als 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.
Laden Sie Verweisdateien als R-Dateien hoch. Die Verweisdateien sind die Dateien, auf die die Hauptdefinitionsdatei verweist bzw. die von dieser importiert werden.
Geben Sie bei Bedarf Befehlszeilenargumente für den Auftrag an.
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 sehen Sie die Runtimeversion, also die Version von Spark, die zum Ausführen des Auftrags verwendet wird. Sie können darüber hinaus die Spark-Konfigurationseinstellungen sehen, die zum Ausführen des Auftrags verwendet werden. Sie können die Spark-Konfigurationseinstellungen anpassen, indem Sie auf die Schaltfläche Hinzufügen klicken.
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.