Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel ist Phase 1 von 4 in der Serie der bewährten Methoden zur Migration von Azure Synapse Spark zu Microsoft Fabric.
Beginnen Sie hier, bevor Sie Notizbücher, Spark-Auftragsdefinitionen, Pools oder Lake-Metadaten migrieren. In diesem Artikel können Sie den Umfang Ihres Synapse Spark-Bestandes bewerten, einen Migrationsansatz auswählen, der Ihrer Risikotoleranz und der Übermittlungszeitachse entspricht und die Unterschiede der Fabric verstehen, die sich auf die Planung auswirken können.
Am Ende dieses Schritts sollten Sie wissen, was verschoben werden muss, welches Migrationsmuster verwendet werden muss, wo die hauptkompatibilitätsrisiken sind und welche Rollback- oder parallelen Einschränkungen Sie berücksichtigen müssen.
In diesem Artikel erfahren Sie, wie Sie:
- Bewerten Sie Ihren Synapse Spark-Fußabdruck.
- Wählen Sie zwischen Lift-and-Shift, phasenweiser Modernisierung und Parallelbetrieb.
- Berücksichtigen Sie Rollback- und Synchronisierungseinschränkungen.
- Überprüfen Sie wichtige Features und Architekturunterschiede zwischen Synapse Spark und Fabric Spark.
Bewerten Sie Ihren Synapse Spark-Fußabdruck
Azure Synapse Analytics umfasst mehrere Workloadtypen. Dieser Leitfaden konzentriert sich auf die Migration von Spark-Pools, Notizbüchern, Spark-Auftragsdefinitionen, Lake-Datenbanken und Hive-Metastore-Metadaten zu Microsoft Fabric. Informationen zu dedizierten SQL-Pools, Pipeline-, Data Explorer- und Sicherheitsmigrationsanleitungen finden Sie in den Begleithandbüchern.
| Synapse-Workload | Fabric Destination | Migrationstool/Pfad |
|---|---|---|
| Spark Pools | Fabric Spark (Lakehouse) | Spark Migration Assistant (Vorschau); manuelle Pool-/env-Migration |
| Notebooks | Fabric-Notizbücher | Spark Migration Assistant; Codeumgestaltung für synapsespezifische APIs |
| Spark-Auftragsdefinitionen | Fabric Spark-Auftragsdefinitionen | Spark Migration Assistant (empfohlen); manuelle Erholung bei Bedarf |
| Seedatenbanken | Fabric Lakehouse-Katalog | Spark Migration Assistant (Delta-Tabellen über Verknüpfungen); HMS-Export/Import für Nicht-Delta |
| Hive-Metaspeicher | Fabric Lakehouse-Katalog | HMS-Notizbücher exportieren/importieren; OneLake-Tastenkombinationen für Daten |
| verknüpfte Dienste | Fabric-Verbindungen / Key Vault | Erstellen von Fabric Connections; Migrieren von geheimen Schlüsseln zu Key Vault; Umgestalten von Notizbuchcode |
Führen Sie das Fabric-Bewertungstool aus
Führen Sie vor der Planung der Migration das Fabric Bewertungstool aus, um einen umfassenden Bericht ihres Synapse-Quellarbeitsbereichs zu generieren. Das Tool überprüft Ihren Arbeitsbereich und aggregiert eine Zusammenfassung aller Objekte – Spark Pools, Notizbücher, Spark-Auftragsdefinitionen, Lake-Datenbanken, verknüpfte Dienste und deren Konfigurationen – und bietet Ihnen ein klares Bild des Migrationsumfangs.
Laden Sie das Tool herunter. Das Fabric Bewertungstool ist in der Microsoft fabric-Toolbox GitHub Repository unter microsoft/fabric-toolbox verfügbar.
Führen Sie die Bewertung aus. Zeigen Sie das Tool auf Ihren Azure Synapse Arbeitsbereich. Es überprüft alle Spark-bezogenen Elemente und erzeugt einen Bericht mit Objektanzahl, Konfigurationen, Abhängigkeiten und potenziellen Kompatibilitätsproblemen.
Überprüfen Sie den Bericht. Verwenden Sie die Bewertungsausgabe, um den Umfang Ihrer Migration zu verstehen: Wie viele Notizbücher, Pools, SJDs und Datenbanken migriert werden müssen, welche verknüpften Dienste verwendet werden, und welche potenziellen Blocker vorhanden sind (GPU-Pools, nicht unterstützte Features und andere).
Tipp
Führen Sie das Bewertungstool frühzeitig in Ihrem Planungsprozess aus. Der Bericht hilft Ihnen, den Aufwand zu schätzen, Blocker zu identifizieren und zu priorisieren, welche Workloads zuerst migriert werden sollen. Sie dient auch als Basisbestand für Phase 1 der Migrationsprüfliste.
Migrationsmuster
Wählen Sie Ihr Migrationsmuster basierend auf Ihren Organisationseinschränkungen, Risikotoleranz und Zeitachse aus.
Lift-and-Shift-Muster
Migrieren Sie alle Spark-Workloads gleichzeitig mithilfe der Migration Assistant mit minimalen Änderungen. Konzentrieren Sie sich darauf, Notizbücher und Aufträge in Fabric so schnell wie möglich auszuführen – refaktorieren Sie nur das, was fehlschlägt (verknüpfte Dienste, Dateipfade, nicht unterstützte APIs). Übernehmen Sie die aktuelle Architektur as-is.
Verwenden Sie das Lift-and-Shift-Modell, wenn:
- Ihr Synapse-Arbeitsbereich wird an einem festen Stichtag außer Betrieb genommen, und Sie müssen schnell gehen.
- Ihre Spark-Workloads sind bereits gut konzipiert (Delta-first, sauberer Code, wenige verknüpfte Dienstabhängigkeiten).
- Ihr Arbeitsbereich-Footprint ist für eine einmalige Migration verwaltbar, und Ihr Team kann den Refactoring-Aufwand in einem einzelnen Sprint bewältigen.
- Downstream-Consumer (Power BI, APIs) können ein kurzes Switchoverfenster tolerieren.
Phasenweise Modernisierung
Migrieren Sie Workloads inkrementell nach Priorität und gestalten Sie diese während des Prozesses neu. Beginnen Sie zuerst mit den Arbeitslasten mit dem höchsten Wert oder mit dem niedrigsten Risiko. Wenn Sie jede Charge migrieren, konsolidieren Sie die Spark-Pools in weniger Umgebungen, übernehmen Sie die Lakehouse-Best Practices (Delta-First, V-Order für BI-Konsumenten), aktivieren Sie NEE und gestalten Sie für Direct Lake neu.
Phasenweise Modernisierung verwenden, wenn:
- Sie haben eine große oder komplexe Synapse-Umgebung mit mehreren Teams und verschiedenen Workloads, die nicht in einem Einzigen Schritt migriert werden können.
- Ihre aktuelle Architektur verfügt über technische Schulden, die Sie adressieren möchten (Nicht-Delta-Formate, Mount-Point-Abhängigkeiten, verzweigende Sparkpools).
- Sie haben Flexibilität auf der Zeitachse und möchten die Leistung und Kosteneffizienz während der Migration verbessern.
- Unterschiedliche Workloads haben unterschiedliche Besitzer und benötigen unabhängige Migrationszeitpläne.
Muster für parallele Ausführung
Führen Sie beide Umgebungen während des Übergangs gleichzeitig aus. Leiten Sie neue Spark-Arbeitslasten an Fabric weiter, während ältere Workloads weiterhin auf Synapse ausgeführt werden. Überprüfen Sie migrierte Arbeitslasten, indem Sie die Ergebnisse nebeneinander vergleichen, bevor Sie sie überschneiden. Synapse schrittweise außer Betrieb nehmen, während das Vertrauen wächst.
Verwenden Sie eine parallele Ausführung, wenn:
- Ihre Workloads unterliegen strengen SLAs oder behördlichen Anforderungen, die eine ausführliche Prüfung vor dem Übergang erfordern.
- Bevor die Projektbeteiligten die Außerbetriebnahme genehmigen, müssen Sie nachweisen, dass die Leistung von Fabric der von Synapse entspricht oder sie übertrifft.
- Ihre nachgeschalteten Verbraucher (Dashboards, APIs, ML-Modelle) können während des Übergangs keine Abweichungen tolerieren.
- Sie migrieren Produktionspipelinen, bei denen falsche Ergebnisse einen hohen Geschäftseffekt haben (Finanzberichterstattung, Compliance).
Parallele Ausführung führt zu einem Problem mit der Datensynchronisierung, das Sie im Vorfeld entwerfen müssen. Wählen Sie eines der folgenden Muster aus:
- Gemeinsame Speicherstruktur: Ermöglichen Sie sowohl Synapse als auch Fabric den Lese- und Schreibzugriff auf denselben ADLS Gen2-Speicher durch OneLake-Verknüpfungen. Dadurch werden beide Plattformen auf denselben Delta-Dateien beibehalten. Sie müssen jedoch Schreibkonflikte verhindern, indem Sie sicherstellen, dass jeweils nur eine Plattform in eine bestimmte Tabelle schreibt.
- Write-once, read-both: Lassen Sie Synapse während des Übergangs als primären Schreiber beibehalten und Fabric die gleichen Daten über Direktzugriffe lesen. Nachdem Sie die migrierten Notizbücher in Fabric überprüft haben, wechseln Sie den Schreibpfad zu Fabric, und setzen Sie Synapse auf einen schreibgeschützten Verbraucher, bis zur Außerbetriebnahme. Dies ist die sicherste Option für die meisten Migrationen.
- Dual-Write: Vermeiden Sie die gleichzeitige Ausführung derselben ETL in beiden Umgebungen, es sei denn, Sie verfügen bereits über automatisierte Vergleichs- und Abstimmungstools. Bei dualen Schreibvorgängen entsteht tendenziell Divergenz, Duplizierung und Betriebsaufwand.
Die parallele Ausführung wirkt sich auch auf das Änderungsmanagement aus. Während Synapse die aktive Entwicklungsumgebung bleibt, werden alle in Synapse vorgenommenen Änderungen des Notizbuchs, der Spark-Auftragsdefinition, der Spark-Poolkonfiguration oder der Datenbankschemaänderungen, die in Synapse vorgenommen wurden, nicht automatisch in Fabric angezeigt. Sie müssen die betroffenen Assets erneut migrieren, um beide Umgebungen synchron zu halten.
-
Notebook-Codeänderungen: Führen Sie den Spark-Migrationsassistent erneut aus, oder exportieren Sie die aktualisierten Notizbücher manuell erneut und importieren Sie sie. Erneutes Anwenden Fabric-spezifischer Code-Refactorings, einschließlich
notebookutils, Dateipfadaktualisierungen und Key Vault Secrets. - Spark Auftragsdefinitionsänderungen: Erneute Migration über den Migrationsassistenten oder manuelles Neuerstellen der aktualisierten SJDs in Fabric.
- Spark-Poolkonfigurationsänderungen: Aktualisieren Sie die entsprechende Fabric-Umgebung, um mit der überarbeiteten Knotengröße, den Bibliotheken und den Autoskalierungseinstellungen übereinzustimmen.
- Lake-Datenbankschemaänderungen: Führen Sie die HMS-Export-/Import-Notebooks erneut aus, oder erstellen oder ändern Sie die betroffenen Tabellen im Fabric Lakehouse manuell.
Um den Mehraufwand für die erneute Migration zu verringern, richten Sie eine Änderungssperre auf der Synapse-Seite ein, sobald die Migration beginnt. Wenn Änderungen unvermeidbar sind, behalten Sie ein Änderungsprotokoll bei, damit Sie sie vor der Übernahme in Fabric wiedergeben können.
Überlegungen zum Rollback
Synapse-to-Fabric Migration ist ein Kopiervorgang – sie ändert oder löscht den Synapse-Quellarbeitsbereich nicht. Ihre ursprünglichen Spark-Pools, -Notizbücher und -Daten bleiben während des gesamten Prozesses erhalten. Dadurch wird ein Rollback unkompliziert:
- Wenn die Migrationsergebnisse nicht zufriedenstellend sind, verwenden Sie weiterhin Ihren vorhandenen Synapse-Arbeitsbereich. Es müssen keine Änderungen zurückgesetzt werden.
- Löschen Sie die migrierten Fabric Artefakte (Notizbücher, Umgebungen, Spark-Auftragsdefinitionen), und versuchen Sie es erneut, nachdem Sie Probleme behoben haben.
- OneLake-Tastenkombinationen verweisen auf Ihren vorhandenen ADLS Gen2-Speicher – das Entfernen von Verknüpfungen wirkt sich nicht auf die zugrunde liegenden Daten aus.
- Beenden Sie Ihren Synapse-Workspace erst, wenn alle migrierten Workloads in Fabric validiert wurden und die nachgeschalteten Nutzer umgeleitet sind.
Tipp
Starten Sie klein und beweisen Sie schnell die Rentabilität. Wählen Sie eine repräsentative Spark-Workload aus, und migrieren Sie sie end-to-End – vom Poolsetup über die Notizbuchumgestaltung bis zur Überprüfung. Wählen Sie etwas aus, das Ihre am häufigsten verwendeten Muster (Datenzugriff, verknüpfte Dienste, Katalogvorgänge) ausführt, aber ein geringes Risiko darstellt, um daran zu iterieren. Dokumentieren Sie die Schritte, Probleme und Lösungen, um einen wiederholbaren Prozess für nachfolgende Migrationen zu erstellen.
Funktionsparität und wichtige Unterschiede
Das Verständnis der architektonischen Unterschiede zwischen Synapse und Fabric ist für die Planung von entscheidender Bedeutung. In den folgenden Tabellen werden wichtige Unterschiede bei der Berechnungsarchitektur und spark-Funktionen hervorgehoben.
Den vollständigen Vergleich finden Sie unter Compare Fabric und Azure Synapse Spark: Key Differences.
Berechnen und Architektur
| Fähigkeit | Azure Synapse | Microsoft Fabric |
|---|---|---|
| Bereitstellungsmodell | PaaS (Konfigurieren und Verwalten von Ressourcen) | SaaS (kapazitätsbasiert, keine Infrastrukturverwaltung) |
| Computemodell | Sparkpools (knotenbasiert); erfordert mindestens 3 Knoten | Kapazitätseinheiten (CU), die über alle Workloads hinweg geteilt werden; Spark-Pools als Konfigurationsvorlagen; Unterstützung der Einzelknotenausführung; Automatische Skalierungsabrechnung für Spark (Pay-per-Use, ähnlich dem Synapse-Modell) |
| Spark-Engine | Synapse Spark Pools (Spark 3.4, 3.5); UNTERSTÜTZTE GPU-Pools | Fabric Spark (Runtime 1.2/1.3/2.0: Spark 3.4–4.0); keine GPU-Unterstützung; wird auf der Hardware der neuesten Generation ausgeführt, um die Leistung zu verbessern. |
| Skalierung | Automatische Skalierung von Knoten für Spark (min. 3 Knoten) | Automatische Skalierung von Knoten für Spark (Minimum mit einem einzelnen Knoten); kapazitätsbasierte Skalierung |
| Sitzungsstart | Poolbasiert; Kaltstart für neue Cluster | Startpools (Start auf Sekundenebene); Benutzerdefinierte Livepools; Hoher Parallelitätsmodus |
| Kostenmodell | Pro Knotenstunde (Spark); Anhalten/Fortsetzen | Zwei Optionen: (1) Fabric Spark verwendet ein cu-basiertes Modell für gemeinsame Nutzung (Capacity Unit) oder (2) Autoscale Billing for Spark – bezahlen Sie während des Spark-Modus |
Spark: Synapse Spark vs. Fabric Spark
| Fähigkeit | Synapse Spark | Fabric Spark |
|---|---|---|
| Spark-Versionen | Spark 3.4 (EOL), 3.5 (Vorschau). | Spark 3.4 (RT 1.2 EOL), 3.5 (RT 1.3 GA), 4.0 (RT 2.0 Preview) |
| Abfragebeschleunigung | Kein systemeigenes Beschleunigungsmodul | Native-Ausführungs-Engine (Velox/Gluten, bis zu 4x bei TPC-DS) |
| Poolmodell | Feste Pools mit maximaler Knotenanzahl pro Pool; mindestens 3 Knoten | Starterpools (Start auf Sekundenebene, keine Konfiguration erforderlich); Benutzerdefinierte Pools für bestimmte Knotengrößen und benutzerdefinierte Bibliotheken; Einzelknotenausführung unterstützt |
| Sicherheit (Netzwerk) | Verwaltetes virtuelles Netzwerk; Private Endpunkte | Verwaltete private Endpunkte (MPE); Richtlinien für ausgehenden Zugriff (Outbound Access Policies, OAP); Vom Kunden verwaltete Schlüssel (CMK) |
| GPU-Unterstützung | GPU-beschleunigte Pools verfügbar | Nicht unterstützt |
| Hohe Parallelität | Nicht unterstützt | Unterstützt: Mehrere Notizbücher teilen eine Spark-Sitzung |
| Bibliotheksverwaltung | Bibliotheken auf Poolebene und Arbeitsbereichsebene; manuelles Hochladen von Wheels, JARs, tar.gz | Umgebungsbasierte Bibliotheksverwaltung: öffentliche Feeds (PyPI/Conda) + benutzerdefinierte Uploads (Wheels, JARs). Um Synapse-Bibliotheken auf Arbeitsbereichsebene zu replizieren, erstellen Sie eine Umgebung mit den erforderlichen Bibliotheken, und legen Sie sie als Arbeitsbereichstandard fest. Alle Notizbücher und SJDs im Arbeitsbereich erben sie automatisch. |
| V-Reihenfolge | Nicht verfügbar | Schreibzeit-Parquet-Optimierung; 40-60% Verbesserung für Power BI Direct Lake und ~10% für SQL-Analyseendpunkt; kein Spark-Lesevorteil; 15-33% Schreib-Overhead |
| Schreiboptimierung | Standardmäßig deaktiviert | Standardmäßig aktiviert |
| Standardtabellenformat | Parkett (Delta optional) | Delta Lake (Standard und erforderlich für Lakehouse-Tabellen) |
| Hive-Metaspeicher | Integrierte HMS; externe HMS über Azure SQL DB oder MySQL (auslaufend nach Spark 3.4) | Fabric Lakehouse-Katalog; HMS-Migration über Export-/Importskripts |
| DMTS in Notizbüchern | Unterstützt | Unterstützt in Notizbüchern; in Spark-Auftragsdefinitionen noch nicht unterstützt |
| Verwaltete Identität für KV | Unterstützt | Unterstützt in Notizbüchern und Spark-Auftragsdefinitionen |
| mssparkutils | Vollständige Bibliothek (fs, Anmeldeinformationen, Notizbuch, Env, Lakehouse) | notebookutils (ähnliche API; einige Unterschiede bei den Methodennamen) |