Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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):
Kør Spark-Migration Assistant fra dit Fabric workspace (Migrate>Data engineering items). Vælg kilde-Synapse-arbejdsområdet og migrer alle Spark-elementer.
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).Refaktorerkode: erstat
mssparkutilsmednotebookutils, 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.
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.
Refaktorer-kode. Anvend den samme koderefaktorering som i standardscenariet — erstat,
mssparkutilsopdater filstier, udskift linkede services. Se afsnittet Refactor Spark-kode for detaljer.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.
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
mssparkutilsmednotebookutilsfor 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.
Eksporter Spark-konfigurationer. I Synapse Studio går du til Manage>Spark Pools> vælg pool >Configurations + Libraries> download som
.yml/.conf/.json.Importer til miljøet. I Fabric, skab et miljøartefakt. Gå til Spark Compute>Spark Properties>Upload den eksporterede
Sparkproperties.ymlfil.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
importogfrom ... importsætninger på tværs af alle.py/.ipynbfiler. -
Java/Scala-notebooks og SJDs: Søg efter
import-sætninger og Maven-koordinater; kig efter pakker somcom.azure.cosmos.sparkellercom.microsoft.kusto.spark. -
Eksporter fuld afhængighedsliste: Kør
pip freezei en Synapse-notebook, sammenlign med Fabric Runtime 1.3-manifestet. Kun biblioteker, der optræder både i ditpip freezeoutput 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.