Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Denne artikkelen er fase 2 av 4 i Azure Synapse Spark til Microsoft Fabric migreringsbeste praksis-serien.
Bruk denne artikkelen til å migrere dine Spark-arbeidsbelastninger fra Azure Synapse til Fabric. Denne artikkelen omhandler kjøring av Migration Assistant, refaktorering av kodemønstre som ikke kan konverteres automatisk, og migrering av Spark-poolkonfigurasjoner, miljøer og biblioteker.
I denne artikkelen lærer du hvordan du:
- Forstå migreringsarbeidsflyten for standard (ikke-Git) og Git-aktiverte Synapse-arbeidsområder.
- Bruk Spark Migration Assistant for å migrere notatbøker, Spark-jobbdefinisjoner og pooler.
- Refaktorere Synapse-spesifikke kodemønstre for Fabric-kompatibilitet.
- Migrer Spark-poolinnstillinger, miljøer og biblioteker.
- Identifiser og løs bibliotekskompatibilitetsgap mellom Synapse og Fabric.
Migrer med Migration Assistant
Spark Migration Assistant automatiserer migrering av notatbøker, Spark-jobbdefinisjoner, pooler og metadata fra lake-databaser fra Synapse til Fabric. Assistenten kopierer og transformerer elementene dine, men fullfører ikke migreringen—du må fortsatt refaktorere koden, avstemme konfigurasjonshull og validere resultatene.
For trinnvise instruksjoner for å kjøre assistenten, se Spark Synapse to Fabric Spark Migration Assistant (Forhåndsvisning).
Assistenten migrerer følgende elementer:
- Spark pools migreres til Fabric Pools og tilhørende miljøobjekter.
- Notatbøker og tilhørende miljøer migreres.
- Spark-jobbdefinisjoner migreres med tilhørende miljøer.
- Lake-databaser mappes til Fabric-skjemaer; administrerte Delta-tabeller migreres via OneLake-katalogsnarveier.
Viktig!
Spark-konfigurasjoner, egendefinerte biblioteker og tilpassede executor-innstillinger blir ikke migrert av assistenten. Du må konfigurere disse manuelt i miljøobjekter i Fabric. Synapse-arbeidsområder under en VNet kan ikke migreres med assistenten.
Standard (ikke-Git) arbeidsområdemigrering
For arbeidsområder hvor notatbøker og SJD-er lagres direkte i Synapse (ikke i et Git-repositorium):
Kjør Spark-Migration Assistant fra ditt Fabric arbeidsområde (Migrate>Data engineering items). Velg kilde-Synapse-arbeidsområdet og migrer alle Spark-elementer.
Valider avhengigheter mot din mål-Fabric-runtime. Runtime 2.0 er den nyeste GA og standard runtime; test Spark-versjonsforskjeller før du flytter produksjonsarbeidsbelastninger. Hvis notatbøker refererer til andre notatbøker via
mssparkutils.notebook.run(), verifiser at disse notatbøkene også ble migrert. Migration Assistant bevarer mappestrukturen (Fabric støtter opptil 10 nivåer med nesting).Refaktorerkode: bytt ut
mssparkutilsmednotebookutils, bytt ut lenkede tjenestereferanser med Fabric Connections, og oppdater filstier. Se avsnittet Refactor Spark-kode for detaljer.
Git-aktivert arbeidsområdemigrering
For arbeidsområder hvor notatbøker og SJD-er lagres i et Azure DevOps- eller GitHub-repositorium, merk at Synapse og Fabric bruker forskjellige Git-serialiseringsformater. Synapse lagrer notatbøker som JSON; Fabric bruker kildeformat .py/.scala eller .ipynb. Du kan ikke peke et Fabric-arbeidsområde direkte mot samme Synapse Git-gren.
Migrer gjenstander. Bruk Spark Migration Assistant for å migrere notatbøker og SJD-er fra Synapse-arbeidsområdet til et Fabric-arbeidsområde. Dette konverterer elementer til Fabric-kompatibelt format.
Refaktorer-kode. Bruk samme koderefaktorering som i standardscenariet — bytt ut
mssparkutils, oppdater filstier, erstatt lenkede tjenester. Se avsnittet Refactor Spark-kode for detaljer.Koble Fabric workspace til Git. Koble Fabric-arbeidsområdet ditt til en ny gren eller mappe i repositoriet ditt (Workspace Settings>Source Control>Git Integration). Bruk en egen gren eller mappe fra Synapse-innholdet ditt for å unngå konflikter. Committer Fabric-arbeidsområdets innhold for å fylle den nye grenen.
Sett opp distribusjonspipelines (valgfritt). Konfigurer Fabric distribusjonspipelines (Dev → Test → Prod) for pågående CI/CD. Fabric støtter autobinding for standard innsjøhus og tilknyttede miljøer når man deployerer på tvers av nivåer.
Tips
Behold Synapse Git-grenen din intakt som historisk referanse. Opprett en ny gren eller mappe for Fabric-innhold. Fabric lagrer notatbøker som kildefiler (.py for PySpark) i stedet for JSON, som gir renere Git-differ for kodegjennomgang.
Refaktor-Spark-kode
Etter å ha migrert notatbøkene og Spark-jobbdefinisjonene dine, må du fikse kodemønstre som Migration Assistant ikke kan konvertere automatisk. Denne delen veileder deg gjennom å erstatte Synapse-spesifikke API-er, oppdatere filstier og endre legitimasjonsmønstre for å fungere med Fabric.
Pre-refaktoreringsrevisjon
Før du adresserer individuelle refaktoreringsmønstre, kjør et kodebaseomfattende søk på tvers av alle notatbøker for å identifisere Synapse-spesifikk kode som trenger endringer.
| Søkemønster | Kategori | Tiltak som kreves |
|---|---|---|
spark.synapse.linkedService |
Koblede tjenester | Fjern; erstatte med direkte endepunktautentisering eller Key Vault-hemmeligheter |
getSecretWithLS |
Kvalifikasjonsbevis | Erstatt med getSecret(vaultUrl, secretName) |
TokenLibrary |
Token/Autentisasjon | Fjern; bruk direct OAuth config eller notebookutils |
synapsesql |
SQL Connector | Erstatt spark.read.synapsesql() med Delta-formatlesninger |
mssparkutils |
Spark Utils | Erstatt med notebookutils (de fleste API-er identiske) |
spark.catalog.listDatabases |
Katalog API | Erstatt med spark.sql("SHOW DATABASES") |
spark.catalog.currentDatabase |
Katalog API | Erstatt med spark.sql("SELECT CURRENT_DATABASE()") |
spark.catalog.getDatabase |
Katalog API | Erstatt med spark.sql("DESCRIBE DATABASE ...") |
spark.catalog.listFunctions |
Katalog API | Ikke støttet i Fabric — fjern |
spark.catalog.registerFunction |
Katalog API | Ikke støttet — bruk spark.udf.register() i stedet |
spark.catalog.functionExists |
Katalog API | Ikke støttet i Fabric — fjern |
LinkedServiceBasedTokenProvider |
Auth-leverandør | Erstatt med ClientCredsTokenProvider |
getPropertiesAsMap |
Koblede tjenester | Fjern; Konfigurer lagringskonto direkte |
spark.storage.synapse |
Koblede tjenester | Fjern — ikke støttet i Fabric |
/user/trusted-service-user/ |
Filstier | Erstatt med OneLake-sti eller snarvei |
cosmos.oltp |
Azure Cosmos DB | Oppdater til å bruke Key Vault for hemmeligheter i stedet for lenket tjeneste |
kusto.spark.synapse |
Kusto/ADX | Erstatt linket tjenesteautentisering med accessToken via getToken() |
Tips
Kjør disse søkene gjennom hele notatbokarkivet ditt før migrering. Notatbøker uten treff er trygge å migrere as-is. Notatbøker med treff bør prioriteres for koderefaktorering ved å bruke den detaljerte veiledningen i følgende seksjoner.
Bruk av filsti
Oppdater Synapse-notatbøker som bruker relative stier eller Synapse-administrerte lagringsstier til å bruke direkte abfss:// stier eller OneLake-stier i Fabric.
| Før (Synapse) | Etter (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
Erstatt alle Synapse-administrerte lagringsstier med OneLake-stier (abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<item_id>/...). For ADLS Gen2-data, lag OneLake-snarveier og referer til snarveistiene i stedet.
Spark Catalog API
Fabric støtter ikke flere spark.catalog metoder. Bytt dem ut med Spark SQL-ekvivalenter.
| Før (Synapse) | Etter (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 støttet i Fabric — fjern eller hopp over |
spark.catalog.registerFunction(name, fn) |
Ikke støttet i Fabric — bruk spark.udf.register() i stedet |
spark.catalog.functionExists(name) |
Ikke støttet i Fabric — fjern eller hopp over |
Note
spark.catalog tabellmetoder som createTable(), tableExists() og listTables() fungerer normalt i Fabric. Kun database- og funksjonsnivå-katalogmetoder krever refaktorering.
MSSparkUtils og NotebookUtils
Erstatt mssparkutils kall med Fabric notebookutils ekvivalenter. De vanligste endringene knyttet til kvalifikasjoner er:
| Før (Synapse) | Etter (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 støttes ikke linked service-basert hemmelig henting (getSecretWithLS). Referer i stedet direkte til Key Vault-URL-en ved å bruke notebookutils.credentials.getSecret(vaultUrl, secretName). Det samme mønsteret gjelder for TokenLibrary.getSecret() kall.
Note
De fleste mssparkutils.fs-metoder (for eksempel ls, cp, mv, rm, mkdirs, head) fungerer identisk som notebookutils.fs i Fabric. De viktigste endringene er legitimasjons- og hemmelige metoder, samt notebook.run() path-referanser.
Azure Data Explorer (Kusto) connector
Synapse-notatbøker som kobles til Azure Data Explorer (Kusto) via koblede tjenester må refaktoreres for å bruke direkte endepunktsautentisering.
| Før (Synapse) | Etter (Fabric) |
|---|---|
.option("spark.synapse.linkedService", "AzureDataExplorer1") |
Fjern lenket tjenestereferanse |
| Les med koblingstjeneste-innstillingene | .option("accessToken", notebookutils.credentials.getToken("https://<cluster>.kusto.windows.net")) |
Bytt ut den tilknyttede tjenesten med et alternativ.accessToken Bruk notebookutils.credentials.getToken() for å hente en token for Kusto-klyngens endepunkt. Resten av spørringsalternativene (kustoDatabase, kustoQuery) forblir uendret.
Cosmos DB-kontakt
Oppdater Azure Cosmos DB-tilkoblinger i Synapse som bruker koblede tjenester eller getSecretWithLS.
| Før (Synapse) | Etter (Fabric) |
|---|---|
.option("spark.synapse.linkedService", "CosmosDbLS") |
Fjern lenket tjenestereferanse |
mssparkutils.credentials.getSecretWithLS("cosmosKeyLS", "cosmosKey") |
notebookutils.credentials.getSecret("https://<vault>.vault.azure.net/", "cosmosKey") |
Erstatt den lenkede tjenestereferansen med direkte Azure Cosmos DB-endepunktkonfigurasjon. Lagre Azure Cosmos DB-kontonøkkelen i Azure Key Vault og hent den ved å bruke notebookutils.credentials.getSecret(vaultUrl, secretName) i stedet for getSecretWithLS().
Lenkede tjenestereferanser
Bytt ut alle Synapse-lenkede tjenestereferanser i Fabric.
| Før (Synapse) | Etter (Fabric) |
|---|---|
spark.conf.set("spark.storage.synapse.linkedServiceName", ls_name) |
Fjern — ikke stø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 — bruk direkte tilkoblingsstreng eller service principal-konfigurasjon |
I Fabric finnes det ingen tilknyttede tjenester. Bytt ut Synapse-tokenleverandøren med standard OAuth-klientlegitimasjoner (tjenesteprincipal). Konfigurer fs.azure.account.auth.type, oauth.provider.type, client.id, , client.secretog client.endpoint direkte ved å bruke spark.conf.set().
Tokenbibliotek
Synapses TokenLibrary for å hente tokens og lese linked service-egenskaper er ikke tilgjengelig i Fabric. Bytt det ut med tilsvarende mønstre.
| Før (Synapse) | Etter (Fabric) |
|---|---|
TokenLibrary.getPropertiesAsMap(serviceConnection) |
Fjern — konfigurer lagringskonto 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-basert ADLS Gen2-tilgang, konfigurer tjenesteprincipal-legitimasjonen direkte ved å bruke spark.conf.set() med lagringskonto-spesifikke nøkler (for eksempel fs.azure.account.auth.type.<account>.dfs.core.windows.net) i stedet for å stole på leverandører av koblede tjenestetoken.
Viktig!
Gå gjennom alle notatbøker for referanser til knyttet tjeneste før overgang. Alle gjenværende spark.synapse.linkedService, TokenLibrary eller getSecretWithLS kall feiler under kjøretid i Fabric.
Migrasjon av spark-jobbdefinisjon
Spark-jobbdefinisjoner (SJD-er) er batch-jobbkonfigurasjoner som refererer til en hovedkjørbar fil (.py, .jar, eller .R), valgfrie referansebiblioteker, kommandolinjeargumenter og en lakehouse-kontekst. Selv om Spark Migration Assistant håndterer SJD-migrering automatisk, krever viktige forskjeller mellom Synapse- og Fabric-SJD-er oppmerksomhet.
Viktige forskjeller mellom Synapse og Fabric SJDs
Kontekst for Lakehouse kreves. I Fabric må hver SJD ha minst ett innsjøhus tilknyttet seg. Dette innsjøhuset fungerer som standard filsystem for Spark-runtime. All kode som bruker relative stier leses og skriver fra standard lakehouse. I Synapse bruker SJD-er arbeidsområdets standardlagring (ADLS Gen2) som standard filsystem.
Støttede språk. Fabric støtter PySpark (Python), Spark (Scala/Java) og SparkR. .NET for Spark (C#/F#) støttes ikke i Fabric. Du må skrive om disse arbeidslastene i Python eller Scala før migrering.
Retningslinjer for å prøve på nytt. Fabric SJD-er støtter innebygde retry-policyer, som maks retries og retry-intervall. Denne funksjonen er nyttig for Spark Structured Streaming-jobber som må kjøre på ubestemt tid.
Miljøbinding. I Synapse binder SJD-er seg til en gnistpool. I Fabric binder SJD-er seg til et miljøobjekt, som inneholder poolkonfigurasjon, biblioteker og Spark-egenskaper. Migration Assistant kartlegger automatisk Synapse pool-referanser til miljøelementer i Fabric.
Planlegging. Fabric SJD-er har innebygd planlegging (Settings>Schedule) uten å kreve en egen pipeline. I Synapse krever SJD-planlegging en pipeline med en Spark Job-aktivitet. Hvis du har Synapse-pipelines som kun utløser SJD-er, bør du vurdere å bruke Fabric sin innebygde SJD-planlegging i stedet for å migrere pipelinen.
Import/eksport. Synapse støtter UI-basert JSON-import og -eksport for SJD-er. Fabric støtter ikke UI-import eller -eksport. Bruk Spark Migration Assistant eller Fabric REST API for å opprette eller oppdatere SJD-er programmatisk.
Refaktorere SJD-kode
De samme koderefaktoreringsmønstrene i denne artikkelen gjelder for SJDs hovedfiler. Endringer faller inn i to kategorier.
Endringer i kildekoden (inne i .py, .jar, eller .R hovedfilen):
- Erstatt
mssparkutilsmednotebookutilsfor legitimasjon og filsystemoperasjoner. - Oppdater hardkodede filstier i koden til OneLake-stier
abfss://eller snarveistier, når det trengs. SJD-er som kun bruker relative stier mot standard lakehouse, trenger kanskje ikke endringer. - Erstatt lenkede tjenestereferanser i kode med Key Vault-hemmeligheter eller Fabric Connections.
Note
DMTS-tilkoblinger støttes ennå ikke i Fabric Spark-jobbdefinisjoner (støttes kun i notatbøker). Hvis SJD-koden din bruker DMTS, refaktorere til direkte endepunktautentisering.
SJD-konfigurasjonsendringer (i innstillingene for Fabric SJD-elementer):
- Sjekk at ADLS Gen2-baner referert til i hoveddefinisjonsfiler fortsatt er tilgjengelige fra Fabric-arbeidsområdet. Hvis filer ble lagret i Synapse workspace-intern lagring, last dem opp på nytt til Fabric SJD eller flytt dem til en tilgjengelig ADLS Gen2-lokasjon.
- Sjekk at alle referansefiler (
.py,.R,.jar) er tilgjengelige etter migrering. Last opp alle filer som var lagret i Synapse arbeidsområde-intern lagring. - Hvis kommandolinjeargumenter inneholder Synapse-spesifikke stier eller tilkoblingsstrenger, oppdater dem til Fabric-ekvivalenter.
Migrer pooler, miljøer og biblioteker
Etter at notatbøkene og Spark-jobbdefinisjonene dine er migrert, må du bestemme deg for pool- og miljøstrategi. Denne delen forklarer når du kan bruke Fabric Starter Pools (i stedet for å migrere), når du bør lage tilpassede miljøer, og hvordan du identifiserer og løser bibliotekkompatibilitetsgap.
Gnistbassengmigrasjon
Fabric Starter Pools
Fabric Starter Pools gir oppstart av Spark-sesjoner på sekundnivå — en betydelig forbedring sammenlignet med Synapse Spark-pooler, som krever kaldstarter på flere minutter for å starte klynger. Startbassengene er klare til bruk fra plattformen og krever ingen konfigurasjon.
Tips
Hvis Synapse Spark-poolen din ikke har egendefinerte konfigurasjoner, ingen tilpassede biblioteker og ingen spesifikke nodestørrelseskrav utover Medium—ikke migrer poolen. La i stedet notatbøkene og Spark-jobbdefinisjonene bruke standardinnstillingene i Fabric-arbeidsområdet for Starter Pool. Denne tilnærmingen gir deg de raskeste oppstartstidene og null overhead for pool-administrasjon. Opprett kun et egendefinert basseng eller miljø når du har et spesifikt behov.
Når skal man opprette en egendefinert pool eller miljø
Opprett en Fabric custom pool og/eller miljø kun når arbeidsmengden din krever:
- En spesifikk nodestørrelse (Liten, Stor, XLarge, XXLarge) som er forskjellig fra standard Medium.
- Egendefinerte biblioteker (pip-pakker, conda-pakker, JAR-er, hjul) som ikke er i Fabric-innebygd runtime.
- Egendefinerte Spark-egenskaper (for eksempel
spark.sql.shuffle.partitions,spark.executor.memory) utover standardinnstillingene. - Administrerte private endepunkter for tilgang til private datakilder (krever egendefinerte pooler).
- En spesifikk Spark-runtime-versjon som er forskjellig fra arbeidsområdets standard.
Konfigurasjon og bibliotekmigrering
Migrer Spark-konfigurasjoner og biblioteker til miljøelementer i Fabric.
For detaljerte steg for å migrere biblioteker til miljøelementer, se Migrate Spark Libraries from Azure Synapse to Fabric.
Eksporter Spark-konfigurasjoner. I Synapse Studio, gå til Manage>Spark Pools> velg pool >Configurations + Libraries> last ned som
.yml/.conf/.json.Importer til miljøet. I Fabric, lag et miljøobjekt. Gå til Spark Compute>Spark Properties>Last opp den eksporterte
Sparkproperties.ymlfilen.Migrer biblioteker. For pool-nivåbiblioteker, last opp pakker (hjul, JAR, tars) til miljøets biblioteksseksjon. For PyPI/Conda-pakker, legg dem til i miljøets offentlige bibliotekkonfigurasjon.
Viktig!
Workspace-nivå bibliotekinnstillinger i Fabric er foreldet. Migrer alle biblioteker til miljøelementer. Migreringen fjerner permanent eksisterende konfigurasjoner på arbeidsområdenivå—last ned alle innstillinger før du aktiverer miljøer.
Bibliotekkompatibilitet: Synapse vs. Fabric
Bruk Runtime 2.0, den nyeste GA og standard runtime, som migreringsmål etter å ha validert arbeidsbelastningskompatibilitet. Sammenlign avhengighetene dine med pakkelageret i Fabric runtime releases-repositoriet.
Pakketellingene og gap-tabellene i denne seksjonen beskriver Runtime 1.3 (Spark 3.5), som inkluderer 223 innebygde biblioteker i Python, 183 Java/Scala og 135 R. De er ikke et Runtime 2.0-inventar eller en anbefaling om å migrere til Runtime 1.3. Runtime 2.0 endrer pakketilgjengelighet og versjoner; se Migrate from Runtime 1.3 to Runtime 2.0 for flere kompatibilitetsvurderinger.
For å identifisere hvilke biblioteker notatbøkene dine faktisk bruker, kjør disse sjekkene før du går gjennom gap-tabellene:
-
Python notebooks: Søk etter
importogfrom ... import-setninger på tvers av alle.py/.ipynb-filer. -
Java/Scala-notatbøker og SJDs: Søk etter
import-setninger og Maven-koordinater; se etter pakker somcom.azure.cosmos.sparkellercom.microsoft.kusto.spark. -
Eksporter full avhengighetsliste: Kjør
pip freezei en Synapse-notebook og sammenlign med pakkelageret for din mål-Fabric-runtime. Identifiser manglende pakker og inkompatible versjoner; ikke stol kun på Runtime 1.3 gap-tabellene nedenfor. - Basseng- og arbeidsområde-nivå tilpassede biblioteker: I Synapse Studio, gå til Administrer>Apache Spark Pools> og velg > for å se tilpassede biblioteker som må lastes opp på nytt til et miljøobjekt.
Python-biblioteker mangler i Fabric
| Kategori | Biblioteker | Handling |
|---|---|---|
| CUDA / GPU (9 biblioteker) | libcublas, libcufft, libcufile, libcurand, libcusolver, libcusparse, libnpp, libnvfatbin, libnvjitlink, libnvjpeg | Ikke tilgjengelig—Fabric støtter ikke GPU-pooler. Refaktorere GPU-arbeidsbelastninger for å bruke CPU-baserte alternativer eller beholde Synapse. |
| HTTP / API-klienter | httpx, httpcore, h11, google-auth, jmespath | Installer via miljø: pip install httpx google-auth jmespath |
| ML / Tolkbarhet | tolk, tolk-kjerne | Installer via miljø: pip install interpret |
| Dataserialisering | marshmallow, jsonpickle, frozendict, fixedint | Installer via miljøet om nødvendig: pip install marshmallow jsonpickle |
| Logging / Telemetri | flytende-logger, menneskevennlig, bibliotek-metadata-koker, impuls-python-handler | Fluent-logger: installer hvis den brukes. Andre er Synapse-interne—sannsynligvis ikke nødvendige. |
| Jupyter-internals | Jupyter-client, jupyter-core, jupyter-ui-poll, jupyterlab-widgets, ipython-pygments-lexers | Fabric administrerer Jupyter-infrastrukturen internt. Disse bibliotekene er vanligvis ikke nødvendige i brukerkode. |
| System / C-biblioteker | libgcc, libstdcxx, libgrpc, libabseil, libexpat, libnsl, libzlib | Lavnivå systembiblioteker. Vanligvis ikke importert direkte. Installer kun hvis du har C-utvidelser som er avhengige av dem. |
| Fil / samtidighet | fillås, fsspec, knack | Installer via miljø hvis brukt: pip install filelock fsspec |
Java/Scala-biblioteker mangler i Fabric
| Bibliotek | Synapseversjon | Handling |
|---|---|---|
| azure-cosmos-analytics-spark | 2.2.5 | Installer som en egendefinert JAR i miljøet hvis Spark-jobbene dine bruker Cosmos DB analytics connector. |
| Junit-Jupiter-Params | 5.5.2 | Kun testbibliotek. Ikke nødvendig i produksjonsnotatbøker. |
| Junit-Plattform-Commons | 1.5.2 | Kun testbibliotek. Ikke nødvendig i produksjonsnotatbøker. |
R-biblioteker
Bare én forskjell: Synapse inkluderer lightgbm R-pakken (v4.6.0) som ikke er i Fabric. Installer via miljøet om nødvendig. Fabric legger til FabricTelemetry (v1.0.2) som er Fabric-internt.
Merkbare versjonsforskjeller
68 Python-biblioteker finnes på begge plattformene, men med forskjellige versjoner. De fleste er små versjonsforskjeller, men 17 har store versjonshopp som kan påvirke oppførselen.
| Bibliotek | Fabric versjon | Synapseversjon | Innvirkning |
|---|---|---|---|
| libxgboost | 2.0.3 | 3.0.1 | XGBoost API endres mellom v2 og v3. Testmodell trenings-/prediksjonskode. |
| Flask | 2.2.5 | 3.0.3 | Flask 3.x har endringer som bryter. Hvis du serverer Flask-API-er fra notatbøker, test grundig. |
| lxml | 4.9.3 | 5.3.0 | Mindre API-endringer. Test XML-parsing-arbeidsflyter. |
| libprotobuf | 3.20.3 | 4.25.3 | Protobuf 4.x har endringer for egendefinerte proto-definisjoner. |
| MarkupSafe | 2.1.3 | 3.0.2 | MarkupSafe 3.x dropper Python 3.7-støtten, men API-et er kompatibelt. |
| libpq | 12.17 | 17.4 | PostgreSQL klientbibliotek. Større versjonshopp — test databasetilkoblinger. |
| libgcc-ng / libstdcxx-ng | 11.2.0 | 15.2.0 | GCC-kjøretid. Det kan påvirke kompatibiliteten med C-utvidelser. |
Note
Synapse leverer vanligvis nyere versjoner av systembiblioteker (GCC, protobuf, libpq), mens Fabric leverer nyere versjoner av data-/ML-biblioteker (flere Python-pakker totalt). Hvis du trenger en spesifikk versjon, fest den i din miljø-gjenstandskonfigurasjon.
Tips
Kjør en rask kompatibilitetssjekk: eksporter biblioteklisten til Synapse-poolen din (pip freeze), sammenlign med pakkelageret for din mål-Fabric-runtime, og installer kompatible versjoner av manglende biblioteker i miljøobjektet før du kjører migrerte notatbøker. For pakkeinventar for Fabric- og Synapse Spark-runtime, se microsoft/synapse-spark-runtime GitHub-repositoriet.