Freigeben über


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. Auf den Fabric-Arbeitsbereich zugreifen: 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 der Erstellung einer Spark-Auftragsdefinition.

Ü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 des Exports von Spark-Auftragsdefinitionen 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.