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 Microsoft 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 tilsvarende miljøartefakter.
- 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 Fabric Environments. 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: sørg for at samme Spark-versjon brukes. Hvis notatbøker refererer til andre notatbøker via
mssparkutils.notebook.run(), verifiser at de 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 |
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 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 Cosmos DB-endepunktkonfigurasjon. Lagre 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ø, som inneholder poolkonfigurasjon, biblioteker og Spark-egenskaper. Migration Assistant kartlegger automatisk Synapse pool-referanser til Fabric Environments.
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 en egendefinert pool 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 Fabric Environments.
For detaljerte steg for å migrere biblioteker til Fabric Environments, 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øartefakt. 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 bibliotekskonfigurasjon.
Viktig!
Workspace-nivå bibliotekinnstillinger i Fabric er foreldet. Migrer alle biblioteker til miljøartefakter. Migreringen fjerner permanent eksisterende konfigurasjoner på arbeidsområdenivå—last ned alle innstillinger 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 innebygd. De fleste Synapse-biblioteker er tilgjengelige i Fabric, men det finnes hull som kan føre til kjøretidsfeil hvis de ikke adresseres før migrering.
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-notatbok, sammenlign med Fabric Runtime 1.3-manifestet. Kun biblioteker som vises både i utdataene dinepip freezeog i gap-tabellene nedenfor trenger handling. - Pool-nivå og arbeidsområde-nivå tilpassede biblioteker: I Synapse Studio, gå til Manage>Apache Spark Pools> velg pool >Packages for å se tilpassede biblioteker som må lastes opp på nytt til et Fabric-miljø.
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 Environment 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 du bruker: 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 Fabric Environment 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 Environment 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 Fabric Environment-konfigurasjon.
Tips
Kjør en rask kompatibilitetssjekk: eksporter biblioteklisten til Synapse-poolen din (pip freeze), sammenlign med Fabric Runtime 1.3-manifestet, og forhåndsinstaller eventuelle manglende biblioteker i Fabric-miljøet før du kjører migrerte notatbøker. For en linje-for-linje sammenligning av hvert innebygd bibliotek og versjon mellom Fabric og Synapse Spark-kjøretider, se microsoft/synapse-spark-runtime GitHub repository.