Fase 2: Spark arbejdsbelastningsmigrering

Denne artikel er fase 2 af 4 i Azure Synapse Spark to Microsoft Fabric migration best practices-serien.

Brug denne artikel til at migrere dine Spark-arbejdsbelastninger fra Azure Synapse til Microsoft Fabric. Denne artikel omhandler kørsel af Migration Assistant, refaktorering af kodemønstre, der ikke kan konverteres automatisk, samt migrering af Spark pool-konfigurationer, miljøer og biblioteker.

I denne artikel lærer du, hvordan du:

  • Forstå migrationsarbejdsgangen for standard (ikke-Git) og Git-aktiverede Synapse-arbejdsområder.
  • Brug Spark Migration Assistant til at migrere notesbøger, Spark-jobdefinitioner og pools.
  • Refaktorere Synapse-specifikke kodemønstre for Fabric-kompatibilitet.
  • Migrer Spark-poolindstillinger, miljøer og biblioteker.
  • Identificer og løs bibliotekskompatibilitetshuller mellem Synapse og Fabric.

Migrer med Migration Assistant

Spark Migration Assistant automatiserer migreringen af notebooks, Spark-jobdefinitioner, puljer og lake-databasemetadata fra Synapse til Fabric. Assistenten kopierer og transformerer dine elementer, men fuldfører ikke migreringen – du skal stadig refaktorere koden, afstemme konfigurationshuller og validere resultaterne.

For trin-for-trin instruktioner til at køre assistenten, se Spark Synapse to Fabric Spark Migration Assistant (Preview).

Assistenten migrerer følgende elementer:

  • Spark pools migreres til Fabric Pools og tilsvarende miljøartefakter.
  • Notebooks og deres tilknyttede miljøer migreres.
  • Spark-jobdefinitioner migreres med tilknyttede miljøer.
  • Lake-databaser kortlægges til Fabric-skemaer; administrerede Delta-tabeller migreres via OneLake-kataloggenveje.

Vigtigt!

Spark-konfigurationer, brugerdefinerede biblioteker og brugerdefinerede executor-indstillinger bliver ikke migreret af assistenten. Du skal konfigurere disse manuelt i Fabric Environments. Synapse-arbejdsområder under en VNet kan ikke migreres med assistenten.

Standard (ikke-Git) arbejdsområde-migrering

For arbejdsområder, hvor notebooks og SJD'er gemmes direkte i Synapse (ikke i et Git-repository):

  1. Kør Spark-Migration Assistant fra dit Fabric workspace (Migrate>Data engineering items). Vælg kilde-Synapse-arbejdsområdet og migrer alle Spark-elementer.

  2. Valider afhængigheder: sørg for, at den samme Spark-version bruges. Hvis notesbøger refererer til andre notesbøger via mssparkutils.notebook.run(), verificer at de også er blevet migreret. Migration Assistant bevarer mappestrukturen (Fabric understøtter op til 10 niveauer af indlejring).

  3. Refaktorerkode: erstat mssparkutils med notebookutils, erstat linkede servicereferencer med Fabric Connections, og opdater filstier. Se afsnittet Refactor Spark-kode for detaljer.

Git-aktiveret arbejdsområde-migrering

For arbejdsområder, hvor notebooks og SJD'er er gemt i et Azure DevOps- eller GitHub-repository, skal man bemærke, at Synapse og Fabric bruger forskellige Git-serialiseringsformater. Synapse gemmer notesbøger som JSON; Fabric bruger kildeformat .py/.scala eller .ipynb. Du kan ikke pege et Fabric-arbejdsområde direkte mod den samme Synapse Git-gren.

  1. Migrer genstande. Brug Spark Migration Assistant til at migrere notebooks og SJD'er fra Synapse-arbejdsområdet til et Fabric-arbejdsområde. Dette konverterer genstande til Fabric-kompatibelt format.

  2. Refaktorer-kode. Anvend den samme koderefaktorering som i standardscenariet — erstat, mssparkutilsopdater filstier, udskift linkede services. Se afsnittet Refactor Spark-kode for detaljer.

  3. Forbind Fabric workspace til Git. Forbind dit Fabric arbejdsområde til en ny gren eller mappe i dit repository (Workspace Settings>Source Control>Git Integration). Brug en separat gren eller mappe fra dit Synapse-indhold for at undgå konflikter. Commit Fabric-arbejdsområdets indhold til at udfylde den nye gren.

  4. Opsæt deployment-pipelines (valgfrit). Konfigurer Fabric deployment-pipelines (Dev → Test → Prod) til løbende CI/CD. Fabric understøtter autobinding for standard søhuse og tilknyttede miljøer, når man deployerer på tværs af baner.

Tips

Behold din Synapse Git-gren intakt som historisk reference. Opret en ny branch eller mappe til Fabric-indhold. Fabric gemmer notebooks som kildefiler (.py for PySpark) i stedet for JSON, som giver renere Git-diffs til kodegennemgang.

Refaktor-Spark-kode

Efter at have migreret dine notebooks og Spark-jobdefinitioner, skal du rette kodemønstre, som Migration Assistant ikke kan konvertere automatisk. Dette afsnit guider dig gennem at udskifte Synapse-specifikke API'er, opdatere filstier og ændre legitimationsmønstre, så de fungerer med Fabric.

Revision før refaktorering

Før du adresserer individuelle refaktoreringsmønstre, skal du køre en kodebase-omfattende søgning på tværs af alle notebooks for at identificere Synapse-specifik kode, der kræver ændringer.

Søgemønster Kategori Handling påkrævet
spark.synapse.linkedService Sammenkædede tjenester Fjern; erstat med direkte endpoint-autentificering eller Key Vault-hemmeligheder
getSecretWithLS Merit Erstat med getSecret(vaultUrl, secretName)
TokenLibrary Token/Auth Fjern; brug direkte OAuth config eller notebookutils
synapsesql SQL Connector Erstat spark.read.synapsesql() med Delta-format læsninger
mssparkutils Gnist-værktøjer Erstat med notebookutils (de fleste API'er identiske)
spark.catalog.listDatabases Katalog API Erstat med spark.sql("SHOW DATABASES")
spark.catalog.currentDatabase Katalog API Erstat med spark.sql("SELECT CURRENT_DATABASE()")
spark.catalog.getDatabase Katalog API Erstat med spark.sql("DESCRIBE DATABASE ...")
spark.catalog.listFunctions Katalog API Ikke understøttet i Fabric — fjern
spark.catalog.registerFunction Katalog API Ikke understøttet — brug spark.udf.register() i stedet
spark.catalog.functionExists Katalog API Ikke understøttet i Fabric — fjern
LinkedServiceBasedTokenProvider Auth-udbyder Erstat med ClientCredsTokenProvider
getPropertiesAsMap Sammenkædede tjenester Fjern; konfigurere lagerkonto direkte
spark.storage.synapse Sammenkædede tjenester Fjern — ikke understøttet i Fabric
/user/trusted-service-user/ Filstier Erstat med OneLake-sti eller genvejssti
cosmos.oltp Cosmos DB Opdater til at bruge Key Vault til hemmeligheder i stedet for linket service
kusto.spark.synapse Kusto/ADX Erstat linked service-autentificering med accessToken via getToken()

Tips

Kør disse søgninger i hele dit notesbogsarkiv før migrering. Notebooks uden nogen matches er sikre at migrere as-is. Notesbøger med matches bør prioriteres til koderefaktorering ved brug af den detaljerede vejledning i følgende afsnit.

Filsti-brug

Opdater Synapse-notebooks, der bruger relative stier eller Synapse-administrerede lagringsstier, til at bruge direkte abfss:// stier eller OneLake-stier i Fabric.

Før (Synapse) Efter (Fabric)
"abfss://...@<synapse_storage>.dfs.core.windows.net/user/trusted-service-user/deltalake" "abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<lakehouse_id>/Tables/deltalake"
spark.read.synapsesql("<pool>.<schema>.<table>") spark.read.format("delta").load("abfss://.../<lakehouse>/Tables/<table>")

Tips

Erstat alle Synapse-administrerede lagringsstier med OneLake-stier (abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<item_id>/...). For ADLS Gen2-data skal du oprette OneLake-genveje og henvise til genvejsstierne i stedet.

Spark Catalog API

Fabric understøtter ikke flere spark.catalog metoder. Erstat dem med Spark SQL-ækvivalenter.

Før (Synapse) Efter (Fabric)
spark.catalog.listDatabases() spark.sql("SHOW DATABASES").show()
spark.catalog.currentDatabase() spark.sql("SELECT CURRENT_DATABASE()").first()["current_database()"]
spark.catalog.getDatabase(db_name) spark.sql(f"DESCRIBE DATABASE {db_name}").show()
spark.catalog.listFunctions() Ikke understøttet i Fabric — fjern eller spring over
spark.catalog.registerFunction(name, fn) Ikke understøttet i Fabric — brug spark.udf.register() i stedet
spark.catalog.functionExists(name) Ikke understøttet i Fabric — fjern eller spring over

Bemærkning

spark.catalog tabelmetoder som createTable(), tableExists() og listTables() fungerer normalt i Fabric. Kun database- og funktionskatalogmetoder kræver refaktorering.

MSSparkUtils og NotebookUtils

Erstat mssparkutils kald med Fabric notebookutils ækvivalenter. De mest almindelige ændringer i forbindelse med kvalifikationer er:

Før (Synapse) Efter (Fabric)
mssparkutils.credentials.getSecretWithLS("sampleLS", secretKey) notebookutils.credentials.getSecret("https://<vault>.vault.azure.net/", secretKey)
TokenLibrary.getSecret("foo", "bar") notebookutils.credentials.getSecret("https://foo.vault.azure.net/", "bar")

I Fabric understøttes linked service-baseret hemmelig hentning (getSecretWithLS) ikke. Henvis i stedet direkte til Key Vault URL ved at bruge notebookutils.credentials.getSecret(vaultUrl, secretName). Det samme mønster gælder for TokenLibrary.getSecret() kald.

Bemærkning

De fleste mssparkutils.fs-metoder (for eksempel ls, cp, mv, rm, mkdirs, head) fungerer identisk som notebookutils.fs i Fabric. De primære ændringer er credential- og secret-metoder samt notebook.run() stireferencer.

Azure Data Explorer (Kusto) connector

Synapse-notebooks, der forbinder til Azure Data Explorer (Kusto) via linked services, skal refaktoreres til at bruge direkte endpoint-autentificering.

Før (Synapse) Efter (Fabric)
.option("spark.synapse.linkedService", "AzureDataExplorer1") Fjern linked service-reference
Læs med linket service-option-sæt .option("accessToken", notebookutils.credentials.getToken("https://<cluster>.kusto.windows.net"))

Erstat den tilknyttede service-mulighed med en accessToken mulighed. Brug notebookutils.credentials.getToken() den til at hente et token til dit Kusto-klynge-endpoint. Resten af forespørgselsmulighederne (kustoDatabase, kustoQuery) forbliver uændrede.

Cosmos DB-stik

Opdater Cosmos DB-forbindelser i Synapse, der bruger linkede tjenester eller getSecretWithLS.

Før (Synapse) Efter (Fabric)
.option("spark.synapse.linkedService", "CosmosDbLS") Fjern linked service-reference
mssparkutils.credentials.getSecretWithLS("cosmosKeyLS", "cosmosKey") notebookutils.credentials.getSecret("https://<vault>.vault.azure.net/", "cosmosKey")

Erstat den linkede servicereference med direkte Cosmos DB-endpointkonfiguration. Gem Cosmos DB-kontonøglen i Azure Key Vault og hent den ved at bruge notebookutils.credentials.getSecret(vaultUrl, secretName) i stedet for getSecretWithLS().

Linked service-referencer

Erstat alle Synapse-linkede servicereferencer i Fabric.

Før (Synapse) Efter (Fabric)
spark.conf.set("spark.storage.synapse.linkedServiceName", ls_name) Fjern — ikke understøttet i Fabric
spark.conf.set("fs.azure.account.oauth.provider.type", "com.microsoft.azure.synapse.tokenlibrary.LinkedServiceBasedTokenProvider") spark.conf.set("fs.azure.account.oauth.provider.type", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
TokenLibrary.getPropertiesAsMap(linked_service_cfg) Fjern — brug direkte forbindelsesstreng eller service principal-konfiguration

I Fabric findes der ingen tilknyttede tjenester. Erstat Synapse-tokenudbyderen med standard OAuth-klientoplysninger (service principal). Konfigurér fs.azure.account.auth.type, oauth.provider.type, client.id, , client.secretog client.endpoint direkte ved at bruge spark.conf.set().

Tokenbibliotek

Synapses TokenLibrary til at få tokens og læse linked service-egenskaber er ikke tilgængelig i Fabric. Erstat det med tilsvarende mønstre.

Før (Synapse) Efter (Fabric)
TokenLibrary.getPropertiesAsMap(serviceConnection) Fjern — konfigurer lagerkonto direkte
val my_account = conexion("Endpoint").toString.substring(8) val my_account = "<storage_account_name>" // Hardcode or retrieve via notebookutils
mssparkutils.fs.head(internalPath, Int.MaxValue) notebookutils.fs.head(internalPath, Int.MaxValue)

For OAuth-baseret ADLS Gen2-adgang konfigureres service principal-legitimationsoplysningerne direkte ved at bruge spark.conf.set() med lagringskonto-specifikke nøgler (for eksempel fs.azure.account.auth.type.<account>.dfs.core.windows.net) i stedet for at stole på linkede servicetoken-udbydere.

Vigtigt!

Gennemgå alle notesbøger for tilknyttede servicereferencer før cutover. Alle resterende spark.synapse.linkedService, TokenLibrary eller getSecretWithLS kald fejler ved kørsel i Fabric.

Spark jobdefinitionsmigration

Spark-jobdefinitioner (SJD'er) er batchjobkonfigurationer, der refererer til en hovedfil (.py, .jar, eller .R), valgfrie referencebiblioteker, kommandolinjeargumenter og en lakehouse-kontekst. Mens Spark Migration Assistant håndterer SJD-migrering automatisk, kræver vigtige forskelle mellem Synapse- og Fabric-SJD'er opmærksomhed.

Væsentlige forskelle mellem Synapse- og Fabric-SJD'er

  • Lakehouse-kontekst påkrævet. I Fabric skal hver SJD have mindst ét søhus tilknyttet. Dette lakehouse fungerer som standard filsystem for Spark-runtime. Enhver kode, der bruger relative stier, læser og skriver fra standard lakehouse. I Synapse bruger SJD'er arbejdsområdets standardlagring (ADLS Gen2) som standard filsystem.

  • Understøttede sprog. Fabric understøtter PySpark (Python), Spark (Scala/Java) og SparkR. .NET for Spark (C#/F#) understøttes ikke i Fabric. Du skal omskrive disse arbejdsbelastninger i Python eller Scala før migreringen.

  • Politikker om genprøv. Fabric SJD'er understøtter indbyggede genprøvspolitikker, såsom maksimale forsøg og genprøvningsinterval. Denne funktion er nyttig til Spark Structured Streaming-jobs, der skal køre uendeligt.

  • Miljøbinding. I Synapse binder SJD'er sig til en gnistpool. I Fabric binder SJD'er til et miljø, som indeholder poolkonfiguration, biblioteker og Spark-egenskaber. Migration Assistant kortlægger automatisk Synapse pool-referencer til Fabric Environments.

  • Planlægning. Fabric SJD'er har indbygget planlægning (Settings>Schedule) uden at kræve en separat pipeline. I Synapse kræver SJD-planlægning en pipeline med en Spark Job-aktivitet. Hvis du har Synapse-pipelines, der kun udløser SJD'er, så overvej at bruge Fabric's indbyggede SJD-planlægning i stedet for at migrere pipelinen.

  • Import/eksport. Synapse understøtter UI-baseret JSON-import og -eksport til SJD'er. Fabric understøtter ikke UI-import eller -eksport. Brug Spark Migration Assistant eller Fabric REST API til at oprette eller opdatere SJD'er programmatisk.

Refaktorer-SJD-kode

De samme koderefaktoreringsmønstre som i denne artikel gælder for SJD-hovedfiler. Ændringer falder i to kategorier.

Ændringer i kildekoden (inde i .py, .jar, eller .R hovedfilen):

  • Erstat mssparkutils med notebookutils for credential- og filsystemoperationer.
  • Opdater hardcodede filstier i koden til OneLake-stier abfss:// eller genvejsstier, når det er nødvendigt. SJD'er, der kun bruger relative stier mod standard lakehouse, behøver måske ikke ændringer.
  • Erstat linked service-referencer i koden med Key Vault-hemmeligheder eller Fabric Connections.

Bemærkning

DMTS-forbindelser understøttes endnu ikke i Fabric Spark-jobdefinitioner (understøttes kun i notebooks). Hvis din SJD-kode bruger DMTS, så refaktorere til direkte endpoint-autentificering.

SJD-konfigurationsændringer (i Fabric SJD-elementindstillingerne):

  • Kontroller at ADLS Gen2-stier, der refereres til af hoveddefinitionsfiler, stadig er tilgængelige fra Fabric-arbejdsområdet. Hvis filer er gemt i Synapse workspace-intern lagring, genupload dem til Fabric SJD eller flyt dem til en tilgængelig ADLS Gen2-placering.
  • Verdsig, at alle referencefiler (.py, .R, .jar) er tilgængelige efter migrationen. Genupload alle filer, der var gemt i Synapse workspace-intern lagring.
  • Hvis kommandolinjeargumenter indeholder Synapse-specifikke stier eller forbindelsesstrenge, opdater dem til Fabric-ækvivalenter.

Migrer puljer, miljøer og biblioteker

Når dine notesbøger og Spark-jobdefinitioner er migreret, skal du beslutte dig for pool- og miljøstrategi. Dette afsnit forklarer, hvornår du kan bruge Fabric Starter Pools (i stedet for at migrere), hvornår du skal oprette brugerdefinerede miljøer, og hvordan du identificerer og løser bibliotekkompatibilitetshuller.

Gnistpool-migration

Fabric Starter Pools

Fabric Starter Pools giver opstart af Spark-sessioner på andet niveau — en betydelig forbedring i forhold til Synapse Spark pools, som kræver kolde starter på flere minutter for at starte klynger. Starterpools er klar til brug fra platformen og kræver ingen konfiguration.

Tips

Hvis din Synapse Spark-pool ikke har brugerdefinerede konfigurationer, brugerdefinerede biblioteker og ingen specifikke nodestørrelseskrav ud over Medium – så migrer ikke poolen. I stedet skal du lade dine notesbøger og Spark-jobdefinitioner bruge Fabric-arbejdsområdets standard Starter Pool-indstillinger. Denne tilgang giver dig de hurtigste opstartstider og nul overhead for pooladministration. Opret kun en brugerdefineret pool eller et miljø, når du har et specifikt behov.

Hvornår skal man oprette en brugerdefineret pool eller et miljø

Opret en Fabric custom pool og/eller et miljø kun, når din arbejdsbyrde kræver:

  • En specifik nodestørrelse (Lille, Stor, XLarge, XXLarge) adskiller sig fra standard Mellem.
  • Brugerdefinerede biblioteker (pip-pakker, conda-pakker, JARs, hjul), som ikke er i Fabric-indbyggede runtime.
  • Brugerdefinerede Spark-egenskaber (for eksempel spark.sql.shuffle.partitions, ) spark.executor.memoryud over standardindstillingerne.
  • Administrerede private endepunkter til adgang til private datakilder (kræver brugerdefinerede puljer).
  • En specifik Spark-runtime-version, der adskiller sig fra arbejdsområdets standard.

Konfiguration og biblioteksmigration

Migrer Spark-konfigurationer og biblioteker til Fabric-miljøer.

For detaljerede trin til at migrere biblioteker til Fabric Miljøer, se Migrate Spark Libraries from Azure Synapse to Fabric.

  1. Eksporter Spark-konfigurationer. I Synapse Studio går du til Manage>Spark Pools> vælg pool >Configurations + Libraries> download som .yml/.conf/.json.

  2. Importer til miljøet. I Fabric, skab et miljøartefakt. Gå til Spark Compute>Spark Properties>Upload den eksporterede Sparkproperties.yml fil.

  3. Migrer biblioteker. For pool-niveau biblioteker, upload pakker (hjul, JARs, tars) til Environment's bibliotekssektion. For PyPI/Conda-pakker, tilføj dem til Environment's offentlige bibliotekskonfiguration.

Vigtigt!

Biblioteksindstillinger på arbejdsområdeniveau i Fabric er forældede. Migrer alle biblioteker til miljøartefakter. Migreringen fjerner permanent eksisterende konfigurationer på arbejdsområde-niveau – download alle indstillinger, før du aktiverer Environments.

Bibliotekkompatibilitet: Synapse vs. Fabric

Fabric Runtime 1.3 (Spark 3.5) leveres med 223 Python-, 183 Java/Scala- og 135 R-biblioteker indbygget. De fleste Synapse-biblioteker er tilgængelige i Fabric, men der er huller, som kan forårsage runtime-fejl, hvis de ikke bliver adresseret før migrering.

For at identificere, hvilke biblioteker dine notesbøger faktisk bruger, skal du lave disse tjek, før du gennemgår gap-tabellerne:

  • Python notebooks: Søg efter import og from ... import sætninger på tværs af alle .py / .ipynb filer.
  • Java/Scala-notebooks og SJDs: Søg efter import-sætninger og Maven-koordinater; kig efter pakker som com.azure.cosmos.spark eller com.microsoft.kusto.spark.
  • Eksporter fuld afhængighedsliste: Kør pip freeze i en Synapse-notebook, sammenlign med Fabric Runtime 1.3-manifestet. Kun biblioteker, der optræder både i dit pip freeze output og i gap-tabellerne nedenfor, kræver handling.
  • Pool- og workspace-niveau brugerdefinerede biblioteker: I Synapse Studio gå til Manage>Apache Spark Pools> vælg pool >Packages for at se brugerdefinerede biblioteker, der skal genuploades til et Fabric Environment.

Python-biblioteker mangler i Fabric

Kategori Biblioteker Handling
CUDA / GPU (9 biblioteker) libcublas, libcufft, libcufile, libcurand, libcusolver, libcusparse, libnpp, libnvfatbin, libnvjitlink, libnvjpeg Ikke tilgængeligt—Fabric understøtter ikke GPU-pools. Refaktorere GPU-arbejdsbelastninger til at bruge CPU-baserede alternativer eller behold Synapse på plads.
HTTP / API-klienter httpx, httpcore, h11, google-auth, jmespath Installer via miljø: pip install httpx google-auth jmespath
ML / Fortolkelighed fortolk, fortolk-kerne Installer via miljø: pip install interpret
Dataserialisering skumfidus, jsonpickle, frossendikt, fastgjort Installer via Environment om nødvendigt: pip install marshmallow jsonpickle
Logning / Telemetri fluent-logger, humanfriendly, library-metadata-cooker, impulse-python-handler Fluent-logger: installer hvis den bruges. Andre er Synapse-interne – sandsynligvis ikke nødvendige.
Jupyter-internals Jupyter-client, Jupyter-core, jupyter-ui-poll, jupyterlab-widgets, ipython-pygments-lexers Fabric administrerer Jupyter-infrastrukturen internt. Disse biblioteker er normalt ikke nødvendige i brugerkode.
System- / C-biblioteker libgcc, libstdcxx, libgrpc, libabseil, libexpat, libnsl, libzlib Lavniveau systembibliotekere. Normalt importeres de ikke direkte. Installer kun, hvis du har C-udvidelser, der er afhængige af dem.
Fil / samtidighed Filelock, FSSPEC, Knack Installer via Environment hvis brugt: pip install filelock fsspec

Java/Scala-biblioteker mangler i Fabric

Bibliotek Synapse-versionen Handling
Azure-Cosmos-Analytics-spark 2.2.5 Installer som en brugerdefineret JAR i Fabric Environment, hvis dine Spark-jobs bruger Cosmos DB analytics connectoren.
Junit-Jupiter-Params 5.5.2 Testbibliotek. Ikke nødvendigt i produktionsnotesbøger.
junit-platform-commons 1.5.2 Testbibliotek. Ikke nødvendigt i produktionsnotesbøger.

R-biblioteker

Kun én forskel: Synapse inkluderer lightgbm R-pakken (v4.6.0), som ikke er i Fabric. Installer via Environment om nødvendigt. Fabric tilføjer FabricTelemetry (v1.0.2), som er Fabric-intern.

Bemærkelsesværdige versionsforskelle

68 Python-biblioteker findes på begge platforme, men med forskellige versioner. De fleste er mindre versionsforskelle, men 17 har store versionshop, der kan påvirke adfærden.

Bibliotek Fabric version Synapse-versionen Påvirkning
libxgboost 2.0.3 3.0.1 XGBoost API ændrer sig mellem v2 og v3. Test modeltrænings-/forudsigelseskode.
Flaske 2.2.5 3.0.3 Flask 3.x har ændringer i at bryde ud. Hvis du serverer Flask API'er fra notebooks, så test grundigt.
lxml 4.9.3 5.3.0 Mindre API-ændringer. Test XML-parsing workflows.
libprotobuf 3.20.3 4.25.3 Protobuf 4.x har breaking changes til brugerdefinerede proto-definitioner.
MarkupSafe 2.1.3 3.0.2 MarkupSafe 3.x dropper Python 3.7-understøttelse, men API'et er kompatibelt.
libpq 12.17 17.4 PostgreSQL-klientbibliotek. Større versionsspring — test databaseforbindelser.
libgcc-ng / libstdcxx-ng 11.2.0 15.2.0 GCC-runtime. Det kan påvirke kompatibiliteten med C-udvidelser.

Bemærkning

Synapse leverer generelt nyere versioner af systemniveau-biblioteker (GCC, protobuf, libpq), mens Fabric leverer nyere versioner af data-/ML-biblioteker (flere Python-pakker samlet set). Hvis du har brug for en specifik version, så pin den i din Fabric Environment-konfiguration.

Tips

Lav en hurtig kompatibilitetstjek: eksporter din Synapse pools biblioteksliste (pip freeze), sammenlign med manifestet Fabric Runtime 1.3, og forudinstaller eventuelle manglende biblioteker i dit Fabric Environment, før du kører migrerede notebooks. For en linje-for-linje sammenligning af hvert indbygget bibliotek og version mellem Fabric og Synapse Spark-runtimes, se microsoft/synapse-spark-runtime GitHub repository.