Share via


Migrieren einer Spark-Auftragsdefinition von Azure Synapse zu Fabric

Wenn Sie Spark-Auftragsdefinitionen (Spark Job Definitions, SJDs) von Azure Synapse zu Fabric migrieren möchten, haben Sie zwei Optionen:

  • Option 1: Manuelles Erstellen einer Spark-Auftragsdefinition in Fabric.
  • Option 2: Sie können ein Skript verwenden, um Spark-Auftragsdefinitionen aus Azure Synapse zu exportieren und mithilfe der API in Fabric zu importieren.

Überlegungen zu Spark-Auftragsdefinitionen finden Sie unter Unterschiede zwischen Azure Synapse Spark und Fabric.

Voraussetzungen

Erstellen Sie einen Fabric-Arbeitsbereich in Ihrem Mandanten, falls noch keiner vorhanden ist.

Option 1: Manuelles Erstellen einer Spark-Auftragsdefinition

So exportieren Sie eine Spark-Auftragsdefinition aus Azure Synapse

  1. Öffnen Sie Synapse Studio: Melden Sie sich bei Azure an. Navigieren Sie zu Ihrem Azure Synapse-Arbeitsbereich, und öffnen Sie Synapse Studio.
  2. Suchen Sie den Python/Scala/R Spark-Auftrag: Identifizieren Sie die Python-/Scala-/R Spark-Auftragsdefinition, die Sie migrieren möchten.
  3. Exportieren Sie die Konfiguration der Auftragsdefinition:
    • Öffnen Sie die Apache Spark-Auftragsdefinition in Synapse Studio.
    • Exportieren Sie die Konfigurationseinstellungen (einschließlich Skriptdateispeicherort, Abhängigkeiten, Parametern und anderen relevanten Details), oder notieren Sie sie sich.

So erstellen Sie eine neue Spark-Auftragsdefinition (Spark Job Definition, SJD) auf der Grundlage der exportierten SJD-Informationen in Fabric:

  1. Greifen Sie auf den Fabric-Arbeitsbereich zu: Melden Sie sich bei Fabric an, und greifen Sie auf Ihren Arbeitsbereich zu.
  2. Erstellen Sie eine neue Spark-Auftragsdefinition in Fabric:
    • Navigieren Sie in Fabric zur Datentechnik-Homepage.
    • Wählen Sie Spark-Auftragsdefinition aus.
    • Konfigurieren Sie den Auftrag mit den Informationen, die Sie aus Synapse exportiert haben (einschließlich Skriptspeicherort, Abhängigkeiten, Parametern und Clustereinstellungen).
  3. Anpassen und testen: Nehmen Sie alle für die Fabric-Umgebung erforderlichen Anpassungen am Skript oder an der Konfiguration vor. Testen Sie den Auftrag in Fabric, um sicherzustellen, dass er ordnungsgemäß ausgeführt wird.

Screenshot showing Spark job definition creation.

Überprüfen nach der Erstellung der Spark-Auftragsdefinition die Abhängigkeiten:

  • Stellen Sie sicher, dass Sie die gleiche Spark-Version verwenden.
  • Überprüfen Sie das Vorhandensein der Hauptdefinitionsdatei.
  • Überprüfen Sie das Vorhandensein der referenzierten Dateien, Abhängigkeiten und Ressourcen.
  • Verknüpfte Dienste, Datenquellenverbindungen und Bereitstellungspunkte.

Weitere Informationen zum Erstellen einer Apache Spark-Auftragsdefinition in Fabric finden Sie hier.

Option 2: Verwenden der Fabric-API

Führen Sie die folgenden wichtigen Schritte für die Migration aus:

  • Voraussetzungen
  • Schritt 1: Exportieren Sie die Spark-Auftragsdefinition von Azure Synapse zu OneLake (JSON).
  • Schritt 2: Importieren Sie die Spark-Auftragsdefinition mithilfe der Fabric-API automatisch in Fabric.

Voraussetzungen

Zu den Voraussetzungen gehören Aktionen, die Sie berücksichtigen müssen, bevor Sie die Migration der Spark-Auftragsdefinition zu Fabric starten.

  • Ein Fabric-Arbeitsbereich.
  • Erstellen Sie ein Fabric Lakehouse in Ihrem Arbeitsbereich, falls noch keins vorhanden ist.

Schritt 1: Exportieren der Spark-Auftragsdefinition aus dem Azure Synapse-Arbeitsbereich

Der Fokus von Schritt 1 liegt auf dem Exportieren der Spark-Auftragsdefinition aus dem Azure Synapse-Arbeitsbereich in OneLake im JSON-Format. Dieser Prozess läuft wie folgt ab:

  • 1.1) Importieren Sie das SJD-Migrations-Notebook in den Arbeitsbereich Fabric. Dieses Notebook exportiert alle Spark-Auftragsdefinitionen aus einem bestimmten Azure Synapse-Arbeitsbereich in ein Zwischenverzeichnis in OneLake. Die Synapse-API wird zum Exportieren von SJDs verwendet.
  • 1.2) Konfigurieren Sie die Parameter im ersten Befehl zum Exportieren der Spark-Auftragsdefinition in einen Zwischenspeicher (OneLake). Dadurch wird nur die JSON-Metadatendatei exportiert. Der folgende Codeschnipsel wird verwendet, um die Quell- und Zielparameter zu konfigurieren. Diese müssen durch Ihre eigenen Werte ersetzt werden.
# Azure config
azure_client_id = "<client_id>"
azure_tenant_id = "<tenant_id>"
azure_client_secret = "<client_secret>"

# Azure Synapse workspace config
synapse_workspace_name = "<synapse_workspace_name>"

# Fabric config
workspace_id = "<workspace_id>"
lakehouse_id = "<lakehouse_id>"
export_folder_name = f"export/{synapse_workspace_name}"
prefix = "" # this prefix is used during import {prefix}{sjd_name}

output_folder = f"abfss://{workspace_id}@onelake.dfs.fabric.microsoft.com/{lakehouse_id}/Files/{export_folder_name}"
  • 1.3) Führen Sie die ersten beiden Zellen des Export-/Import-Notebooks aus, um die Metadaten der Spark-Auftragsdefinition nach OneLake zu exportieren. Nach Abschluss der Zellen wird diese Ordnerstruktur unter dem Zwischenausgabeverzeichnis erstellt.

Screenshot showing Spark job definition export in OneLake.

Schritt 2: Importieren der Spark-Auftragsdefinition in Fabric

Schritt 2 erfolgt, wenn Spark-Auftragsdefinitionen aus dem Zwischenspeicher in den Fabric-Arbeitsbereich importiert werden. Dieser Prozess läuft wie folgt ab:

  • 2.1) Überprüfen Sie die Konfigurationen in Schritt 1.2, um sicherzustellen, dass der richtige Arbeitsbereich und das richtige Präfix angegeben sind, um die Spark-Auftragsdefinitionen zu importieren.
  • 2.2) Führen Sie die dritte Zelle des Export-/Import-Notebooks aus, um alle Spark-Auftragsdefinitionen aus dem Zwischenspeicherort zu importieren.

Hinweis

Die Exportoption gibt eine JSON-Metadatendatei aus. Stellen Sie sicher, dass ausführbare Dateien, Referenzdateien und Argumente der Spark-Auftragsdefinition über Fabric zugänglich sind.