Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln är fas 2 av 4 i serien med bästa metoder för migrering från Azure Synapse Spark till Microsoft Fabric.
Använd den här artikeln om du vill migrera dina Spark-arbetsbelastningar från Azure Synapse till Microsoft Fabric. Den här artikeln beskriver hur du kör Migration Assistant, omstrukturerar kodmönster som inte kan konverteras automatiskt och migrera Spark-poolkonfigurationer, miljöer och bibliotek.
I den här artikeln lär du dig att:
- Förstå migreringsarbetsflödet för standardarbetsytor (icke-Git) och Git-aktiverade Synapse-arbetsytor.
- Använd Spark-Migration Assistant för att migrera notebook-filer, Spark-jobbdefinitioner och pooler.
- Omstrukturera Synapse-specifika kodmönster för Fabric kompatibilitet.
- Migrera Inställningar, miljöer och bibliotek för Spark-pooler.
- Identifiera och lösa bibliotekskompatibilitetsluckor mellan Synapse och Fabric.
Migrera med Migration Assistant
Spark-Migration Assistant automatiserar migreringen av notebook-filer, Spark-jobbdefinitioner, pooler och lakedatabasmetadata från Synapse till Fabric. Assistenten kopierar och transformerar dina objekt, men slutför inte migreringen – du behöver fortfarande omstrukturera kod, stämma av konfigurationsluckor och verifiera resultatet.
Stegvisa instruktioner om hur du kör assistenten finns i Spark Synapse to Fabric Spark Migration Assistant (preview).
Assistenten migrerar följande objekt:
- Spark-pooler migreras till Fabric-Pooler och motsvarande miljöobjekt.
- Anteckningsblock och deras associerade miljöer migreras.
- Spark-jobbdefinitioner migreras med associerade miljöer.
- Lake-databaser mappas till Fabric scheman. Hanterade Delta-tabeller migreras via OneLake-kataloggenvägar.
Viktigt!
Spark-konfigurationer, anpassade bibliotek och anpassade körinställningar migreras inte av assistenten. Du måste konfigurera dessa manuellt i Fabric-miljöer. Synapse-arbetsytor under ett virtuellt nätverk kan inte migreras med assistenten.
Migrering av standardarbetsytor (inte Git)
För arbetsytor där notebook-filer och SJD:ar lagras direkt i Synapse (inte på en Git-lagringsplats):
Kör Spark-migrationsassistent från din Fabric-arbetsmiljö (Migrate>Dataingenjörsobjekt). Välj synapse-källarbetsytan och migrera alla Spark-objekt.
Verifiera beroenden: kontrollera att samma Spark-version används. Om notebook-filer refererar till andra notebook-filer via
mssparkutils.notebook.run(), kontrollerar du att de också har migrerats. Migration Assistant bevarar mappstrukturen (Fabric stöder upp till 10 kapslingsnivåer).Refaktorkod: ersätt
mssparkutilsmednotebookutils, ersätt länkade tjänstreferenser med Fabric Anslutningar och uppdatera filsökvägar. Mer information finns i avsnittet Refactor Spark-kod .
Migrering av Git-aktiverad arbetsyta
Observera att Synapse och Fabric använder olika Git-serialiseringsformat för arbetsytor där notebook-filer och SJD:er lagras i en Azure DevOps eller GitHub lagringsplats. Synapse lagrar notebook-filer som JSON; Fabric använder källformatet .py/.scala eller .ipynb. Du kan inte peka en Fabric arbetsyta på samma Synapse Git-gren direkt.
Migrera objekt. Använd Spark-Migration Assistant för att migrera notebook-filer och SJD:er från Synapse-arbetsytan till en Fabric arbetsyta. Detta konverterar objekt till Fabric-kompatibelt format.
Refaktorisera koden. Använd samma kodrefaktorisering som standardscenariot – ersätt
mssparkutils, uppdatera filsökvägar och ersätt länkade tjänster. Mer information finns i avsnittet Refactor Spark-kod .Anslut Fabric arbetsyta till Git. Anslut din Fabric arbetsyta till en ny gren eller mapp på lagringsplatsen (Arbetsyteinställningar>Source Control>Git Integration). Använd en separat gren eller mapp från ditt Synapse-innehåll för att undvika konflikter. Kommitera Fabric arbetsytans innehåll för att lägga till det i den nya grenen.
Konfigurera distributionspipelines (valfritt). Konfigurera Fabric distributionskedjor (Dev → Test → Prod) för kontinuerlig CI/CD. Fabric stöder automatisk bindning för standardsjöhus och anslutna miljöer när du distribuerar mellan steg.
Tips/Råd
Behåll Din Synapse Git-gren intakt som en historisk referens. Skapa en ny gren eller mapp för Fabric innehåll. Fabric lagrar notebook-filer som källfiler (.py för PySpark) i stället för JSON, vilket ger renare Git-diff för kodgranskning.
Omstrukturera Spark-kod
När du har migrerat dina notebook-filer och Spark-jobbdefinitioner måste du åtgärda kodmönster som Migration Assistant inte kan konvertera automatiskt. Det här avsnittet vägleder dig genom att ersätta Synapse-specifika API:er, uppdatera filsökvägar och ändra mönster för autentiseringsuppgifter så att de fungerar med Fabric.
Granskning före omstrukturering
Innan du tar itu med enskilda refaktoriseringsmönster kör du en kodbasomfattande sökning i alla notebook-filer för att identifiera Synapse-specifik kod som behöver ändras.
| Sökmönster | Kategori | Åtgärd krävs |
|---|---|---|
spark.synapse.linkedService |
Länkade tjänster | Ta bort; ersätt med direkt slutpunktsautentisering eller Key Vault hemligheter |
getSecretWithLS |
Credentials | Ersätt med getSecret(vaultUrl, secretName) |
TokenLibrary |
Token/autentisering | Ta bort; använd en direkt OAuth-konfiguration eller notebookutils |
synapsesql |
SQL-anslutningsprogram | Ersätt spark.read.synapsesql() med Delta-formatläsningar |
mssparkutils |
Spark Utils | Ersätt med notebookutils (de flesta API:er identiska) |
spark.catalog.listDatabases |
Katalog-API | Ersätt med spark.sql("SHOW DATABASES") |
spark.catalog.currentDatabase |
Katalog-API | Ersätt med spark.sql("SELECT CURRENT_DATABASE()") |
spark.catalog.getDatabase |
Katalog-API | Ersätt med spark.sql("DESCRIBE DATABASE ...") |
spark.catalog.listFunctions |
Katalog-API | Stöds inte i Fabric – ta bort |
spark.catalog.registerFunction |
Katalog-API | Stöds inte – använd spark.udf.register() i stället |
spark.catalog.functionExists |
Katalog-API | Stöds inte i Fabric – ta bort |
LinkedServiceBasedTokenProvider |
Autentiseringsprovider | Ersätt med ClientCredsTokenProvider |
getPropertiesAsMap |
Länkade tjänster | Ta bort; konfigurera lagringskontot direkt |
spark.storage.synapse |
Länkade tjänster | Ta bort – stöds inte i Fabric |
/user/trusted-service-user/ |
Filsökvägar | Ersätt med OneLake-sökväg eller genvägssökväg |
cosmos.oltp |
Cosmos DB | Uppdatera för att använda Key Vault för hemligheter i stället för länkad tjänst |
kusto.spark.synapse |
Kusto/ADX | Ersätt länkad tjänstautentisering med accessToken via getToken() |
Tips/Råd
Kör dessa sökningar över hela lagringsplatsen för notebook-filer före migreringen. Anteckningsböcker med noll matchningar är säkra att migrera oförändrade. Notebook-filer med matchningar bör prioriteras för kodrefaktorisering med hjälp av den detaljerade vägledningen i följande avsnitt.
Filsökvägsanvändning
Uppdatera Synapse-anteckningsböcker som använder relativa sökvägar eller lagringsvägar hanterade av Synapse, så att de använder direkta abfss:// sökvägar eller OneLake-sökvägar i Fabric.
| Före (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/Råd
Ersätt alla Synapse-hanterade lagringssökvägar med OneLake-sökvägar (abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<item_id>/...). För ADLS Gen2-data skapar du OneLake-genvägar och refererar till genvägssökvägarna i stället.
Api för Spark-katalog
Fabric stöder inte flera spark.catalog metoder. Ersätt dem med Spark SQL-motsvarigheter.
| Före (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() |
Stöds inte i Fabric – ta bort eller hoppa över |
spark.catalog.registerFunction(name, fn) |
Stöds inte i Fabric – använd spark.udf.register() i stället |
spark.catalog.functionExists(name) |
Stöds inte i Fabric – ta bort eller hoppa över |
Note
spark.catalog tabellmetoder som createTable(), tableExists() och listTables() fungerar normalt i Fabric. Endast katalogmetoder på databasnivå och funktionsnivå kräver refaktorisering.
MSSparkUtils och NotebookUtils
Ersätt mssparkutils-anrop med motsvarigheterna Fabric notebookutils. De vanligaste ändringarna som rör autentiseringsuppgifter är:
| Före (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 stöds inte länkad tjänstbaserad hemlig hämtning (getSecretWithLS). Referera i stället till Key Vault-URL:en direkt med hjälp av notebookutils.credentials.getSecret(vaultUrl, secretName). Samma mönster gäller för TokenLibrary.getSecret() anrop.
Note
De flesta mssparkutils.fs metoder (till exempel ls, cp, mv, rm, mkdirs, head) fungerar på samma sätt som notebookutils.fs i Fabric. De primära ändringarna är autentiseringsuppgifter och hemliga metoder samt notebook.run() sökvägsreferenser.
Azure Data Explorer (Kusto)-anslutning
Synapse-notebook-filer som ansluter till Azure Data Explorer (Kusto) via länkade tjänster måste omstruktureras för att använda direkt slutpunktsautentisering.
| Före (Synapse) | Efter (Fabric) |
|---|---|
.option("spark.synapse.linkedService", "AzureDataExplorer1") |
Ta bort länkade tjänstreferenser |
| Läs med alternativkonfiguration för länkad tjänst | .option("accessToken", notebookutils.credentials.getToken("https://<cluster>.kusto.windows.net")) |
Ersätt det länkade tjänstalternativet med ett accessToken alternativ. Använd notebookutils.credentials.getToken() för att hämta en token för kusto-klusterslutpunkten. Resten av frågealternativen (kustoDatabase, kustoQuery) förblir oförändrade.
Cosmos DB-anslutning
Uppdatera anslutningar till Cosmos DB i Synapse som använder länkade tjänster eller getSecretWithLS.
| Före (Synapse) | Efter (Fabric) |
|---|---|
.option("spark.synapse.linkedService", "CosmosDbLS") |
Ta bort länkade tjänstreferenser |
mssparkutils.credentials.getSecretWithLS("cosmosKeyLS", "cosmosKey") |
notebookutils.credentials.getSecret("https://<vault>.vault.azure.net/", "cosmosKey") |
Ersätt referensen för den länkade tjänsten med direkt Cosmos DB-slutpunktskonfiguration. Lagra Cosmos DB-kontonyckeln i Azure Key Vault och hämta den med hjälp av notebookutils.credentials.getSecret(vaultUrl, secretName) i stället för getSecretWithLS().
Länkade tjänstreferenser
Ersätt alla synapse-länkade tjänstreferenser i Fabric.
| Före (Synapse) | Efter (Fabric) |
|---|---|
spark.conf.set("spark.storage.synapse.linkedServiceName", ls_name) |
Ta bort – stöds inte 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) |
Ta bort – använd direkt anslutningssträng eller tjänsthuvudkonfiguration |
I Fabric finns det inga länkade tjänster. Ersätt Synapse-tokenprovidern med OAuth-standardklientautentiseringsuppgifter (tjänstens huvudnamn). Konfigurera fs.azure.account.auth.type, oauth.provider.type, client.id, client.secret och client.endpoint direkt med hjälp av spark.conf.set().
Tokenbibliotek
Synapse TokenLibrary för att hämta token och läsa länkade tjänstegenskaper är inte tillgängligt i Fabric. Ersätt den med motsvarande mönster.
| Före (Synapse) | Efter (Fabric) |
|---|---|
TokenLibrary.getPropertiesAsMap(serviceConnection) |
Ta bort – konfigurera lagringskontot direkt |
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) |
För OAuth-baserad ADLS Gen2-åtkomst konfigurerar du autentiseringsuppgifterna för tjänstehuvudprincipen direkt med hjälp av spark.conf.set() och lagringskontospecifika nycklar (till exempel fs.azure.account.auth.type.<account>.dfs.core.windows.net) i stället för att förlita dig på de länkade tjänsternas token-leverantörer.
Viktigt!
Granska alla anteckningsböcker för referenser till länkade tjänster innan övergången. Eventuella återstående spark.synapse.linkedService, TokenLibrary eller getSecretWithLS-anrop misslyckas vid körning i Fabric.
Migrering av Spark-jobbdefinition
Spark-jobbdefinitioner (SJD: er) är batchjobbkonfigurationer som refererar till en huvud körbar fil (.py, .jar, eller .R), valfria referensbibliotek, kommandoradsargument och en lakehouse-kontext. Spark-Migration Assistant hanterar SJD-migrering automatiskt, men viktiga skillnader mellan Synapse och Fabric SJD kräver uppmärksamhet.
Viktiga skillnader mellan Synapse och Fabric SJD
Lakehouse-kontext krävs. I Fabric måste varje SJD ha minst ett sjöhus associerat med det. Det här lakehouse fungerar som standardfilsystem för Spark-körning. All kod som använder relativa sökvägar läser och skriver från standard lakehouse. I Synapse använder SJD:er standardlagringen för arbetsytan (ADLS Gen2) som standardfilsystem.
Språk som stöds. Fabric stöder PySpark (Python), Spark (Scala/Java) och SparkR. .NET för Spark (C#/F#) stöds inte i Fabric. Du måste skriva om dessa arbetsbelastningar i Python eller Scala före migreringen.
Återförsökspolicy. Fabric SJD stöder inbyggda återförsöksprinciper, till exempel maximalt återförsök och återförsöksintervall. Den här funktionen är användbar för Spark Structured Streaming-jobb som måste köras på obestämd tid.
Miljöbindning. I Synapse associeras SJDs till en Spark-pool. I Fabric binder SJD:er till en miljö som innehåller poolkonfiguration, bibliotek och Spark-egenskaper. Migration Assistant mappar automatiskt Synapse-poolreferenser till Fabric Miljöer.
Schemaläggning. Fabric SJD:er har inbyggd schemaläggning (Settings>Schedule) utan att en separat pipeline krävs. I Synapse kräver SJD-schemaläggning en pipeline med en Spark Job-aktivitet. Om du har Synapse-pipelines som bara utlöser SJD:er bör du överväga att använda Fabric inbyggda SJD-schemaläggning i stället för att migrera pipelinen.
Importera/exportera. Synapse stöder UI-baserad JSON-import och -export för SJD:er. Fabric stöder inte import eller export av användargränssnittet. Använd Spark-Migration Assistant eller rest-API:et för Fabric för att skapa eller uppdatera SJD:er programmatiskt.
Omstrukturera SJD-kod
Samma kodrefaktoriseringsmönster i den här artikeln gäller för SJD-huvudfiler. Ändringarna delas in i två kategorier.
Källkodsändringar (inuti .py, .jareller .R huvudfilen):
- Ersätt
mssparkutilsmednotebookutilsför autentiseringsuppgifter och filsystemåtgärder. - Uppdatera hårdkodade filsökvägar i kod till OneLake-sökvägar
abfss://eller genvägssökvägar när det behövs. SJD:er som endast använder relativa sökvägar mot standard lakehouse kanske inte kräver ändringar. - Ersätt referenser till länkade tjänster i kod med Key Vault-sekretess eller Fabric-anslutningar.
Note
DMTS-anslutningar stöds ännu inte i Fabric Spark-jobbdefinitioner (stöds endast i notebook-filer). Om din SJD-kod använder DMTS omstrukturerar du för att använda direkt slutpunktsautentisering.
SJD-konfigurationsändringar (i inställningarna för Fabric SJD-objekt):
- Kontrollera att ADLS Gen2-sökvägar som refereras av huvuddefinitionsfiler fortfarande är tillgängliga från Fabric arbetsytan. Om filer lagrades i Synapse-arbetsytans interna lagring laddar du upp dem på nytt till Fabric SJD eller flyttar dem till en tillgänglig ADLS Gen2-plats.
- Kontrollera att alla referensfiler (
.py,.R,.jar) är tillgängliga efter migreringen. Ladda upp alla filer som har lagrats i Synapse-arbetsytans interna lagring. - Om kommandoradsargument innehåller Synapse-specifika sökvägar eller anslutningssträngar uppdaterar du dem till Fabric motsvarigheter.
Migrera pooler, miljöer och bibliotek
När dina notebook-filer och Spark-jobbdefinitioner har migrerats måste du bestämma dig för pool- och miljöstrategin. I det här avsnittet förklaras när du kan använda Fabric startpooler (i stället för att migrera), när du ska skapa anpassade miljöer och hur du identifierar och löser kompatibilitetsluckor för bibliotek.
Migrering av Spark-pool
Startpooler för Fabric
Fabric Startpooler möjliggör start av Spark-sessioner på sekundnivå – en betydande förbättring jämfört med Synapse Spark-pooler, som kräver kalla starter som tar flera minuter för att starta kluster. Startpooler är redo att användas från plattformen och kräver ingen konfiguration.
Tips/Råd
Om din Synapse Spark-pool inte har några anpassade konfigurationer, inga anpassade bibliotek och inga specifika krav på nodstorlek utöver Medel migrerar du inte poolen. Låt i stället notebook-filer och Spark-jobbdefinitioner använda standardinställningarna för Fabric-arbetsytans startpool. Den här metoden ger dig de snabbaste starttiderna och noll omkostnader för poolhantering. Skapa bara en anpassad pool eller miljö när du har ett specifikt behov.
När du ska skapa en anpassad pool eller miljö
Skapa en anpassad Fabric-pool och/eller miljö endast när ditt behov kräver det.
- En specifik nodstorlek (Liten, Stor, XLarge, XXLarge) skiljer sig från standardvärdet Medel.
- Anpassade bibliotek (pip-paket, conda-paket, JAR-paket, wheel-paket) som inte finns i Fabrics egen inbyggda körning.
- Anpassade Spark-egenskaper (till exempel
spark.sql.shuffle.partitions,spark.executor.memory) utöver standardvärdena. - Hanterade privata slutpunkter för åtkomst till privata datakällor (kräver anpassade pooler).
- En specifik Spark-körningsversion som skiljer sig från standardvärdet för arbetsytan.
Konfigurations- och biblioteksmigrering
Migrera Spark-konfigurationer och -bibliotek till Fabric miljöer.
Detaljerade anvisningar om hur du migrerar bibliotek till Fabric miljöer finns i Migrera Spark-bibliotek från Azure Synapse till Fabric.
Exportera Spark-konfigurationer. I Synapse Studio går du till Hantera>Spark Pools> välj pool >Konfigurationer + Bibliotek> ladda ner som
.yml/.conf/.json.Importera till systemmiljö. I Fabric skapar du en miljöartefakt. Gå till Spark Compute>Spark-egenskaper>Ladda upp den exporterade
Sparkproperties.ymlfilen.Migrera bibliotek. För bibliotek på poolnivå laddar du upp paket (wheels, JAR:er, tar-filer) till miljöns biblioteksektion. För PyPI/Conda-paket lägger du till dem i miljöns offentliga bibliotekskonfiguration.
Viktigt!
Biblioteksinställningar på arbetsytenivå i Fabric är utgångna. Migrera alla bibliotek till miljöartefakter. Migreringen tar bort befintliga konfigurationer på arbetsytan permanent – ladda ned alla inställningar innan du aktiverar Miljöer.
Bibliotekskompatibilitet: Synapse jämfört med Fabric
Fabric Runtime 1.3 (Spark 3.5) levereras med inbyggda bibliotek med 223 Python, 183 Java/Scala och 135 R. De flesta Synapse-bibliotek är tillgängliga i Fabric, men det finns luckor som kan orsaka körningsfel om de inte åtgärdas före migreringen.
Om du vill identifiera vilka bibliotek dina anteckningsböcker faktiskt använder, kör dessa kontroller innan du går igenom gap-tabellerna.
-
Python notebooks: Sök efter
importochfrom ... importinstruktioner i alla.py/.ipynbfiler. -
Java/Scala notebook-filer och SJD: Sök efter
import-instruktioner och Maven-koordinater; leta efter paket somcom.azure.cosmos.sparkellercom.microsoft.kusto.spark. -
Exportera fullständig beroendelista: Kör
pip freezei en Synapse-anteckningsbok, och jämför mot manifestet Fabric Runtime 1.3. Det är bara bibliotek som visas i bådepip freeze-utdata och gaptabellerna nedan som behöver åtgärdas. - Anpassade bibliotek på poolnivå och arbetsytenivå: I Synapse Studio går du till Hantera>Apache Spark-pooler> välj pool >Paket för att se anpassade bibliotek som måste laddas upp igen till en Fabric-miljö.
Python bibliotek saknas i Fabric
| Kategori | Bibliotek | Åtgärd |
|---|---|---|
| CUDA/GPU (9 libs) | libcublas, libcufft, libcufile, libcurand, libcusolver, libcusparse, libnpp, libnvfatbin, libnvjitlink, libnvjpeg | Inte tillgängligt – Fabric stöder inte GPU-pooler. Omstrukturera GPU-arbetsbelastningar för att använda CPU-baserade alternativ eller behålla Synapse. |
| HTTP/API-klienter | httpx, httpcore, h11, google-auth, jmespath | Installera via miljö: pip install httpx google-auth jmespath |
| ML/förklarbarhet | tolka, tolka-kärna | Installera via miljö: pip install interpret |
| Data serialisering | marshmallow, jsonpickle, frozendict, fixedint | Installera via miljö om det behövs: pip install marshmallow jsonpickle |
| Loggning/telemetriövervakning | fluent-logger, humanfriendly, library-metadata-cooker, impulse-python-handler | fluent-logger: installera om det används. Andra är interna för Synapse – troligtvis inte behövs. |
| Jupyter internals | jupyter-client, jupyter-core, jupyter-ui-poll, jupyterlab-widgets, ipython-pygments-lexers | Fabric hanterar Jupyter-infrastrukturen internt. Dessa bibliotek behövs vanligtvis inte i användarkoden. |
| System-/C-bibliotek | libgcc, libstdcxx, libgrpc, libabseil, libexpat, libnsl, libzlib | Systembibliotek på låg nivå. Importeras vanligtvis inte direkt. Installera endast om du har C-tillägg som är beroende av dem. |
| Fil/samtidighet | filelock, fsspec, knack | Installera via miljö om det används: pip install filelock fsspec |
Java/Scala-bibliotek saknas i Fabric
| Bibliotek | Synapse-version | Åtgärd |
|---|---|---|
| azure-cosmos-analytics-spark | 2.2.5 | Installera som en anpassad JAR-fil i Fabric Environment om dina Spark-jobb använder Cosmos DB-analysanslutningsappen. |
| junit-jupiter-params | 5.5.2 | Endast testbibliotek. Behövs inte i notebook-filer för produktion. |
| junit-platform-commons | 1.5.2 | Bibliotek endast för test. Behövs inte i produktionsnotebooks. |
R-bibliotek
Endast en skillnad: Synapse innehåller lightgbm R-paketet (v4.6.0) som inte finns i Fabric. Installera via miljö om det behövs. Fabric lägger till FabricTelemetry (v1.0.2) som är internt för Fabric.
Anmärkningsvärda versionsskillnader
68 Python bibliotek finns på båda plattformarna men med olika versioner. De flesta är mindre versionsskillnader, men 17 har större versionshopp som kan påverka beteendet.
| Bibliotek | Fabricversion | Synapse-version | Impact |
|---|---|---|---|
| libxgboost | 2.0.3 | 3.0.1 | XGBoost API ändras mellan v2 och v3. Testa modelltränings-/förutsägelsekod. |
| flaska | 2.2.5 | 3.0.3 | Flask 3.x har icke-bakåtkompatibla ändringar. Om du kör Flask-API:er från notebooks bör du testa noggrant. |
| Lxml | 4.9.3 | 5.3.0 | Mindre API-ändringar. Testa XML-parsningsarbetsflöden. |
| Libprotobuf | 3.20.3 | 4.25.3 | Protobuf 4.x har icke-bakåtkompatibla ändringar för anpassade proto-definitioner. |
| markupsafe | 2.1.3 | 3.0.2 | MarkupSafe 3.x släpper Python 3.7-stöd men API:et är kompatibelt. |
| libpq | 12.17 | 17.4 | PostgreSQL-klientbibliotek. Huvudversionshopp – testa DB-anslutningar. |
| libgcc-ng /libstdcxx-ng | 11.2.0 | 15.2.0 | GCC-körning. Kan påverka C-tilläggskompatibiliteten. |
Note
Synapse levererar vanligtvis nyare versioner av bibliotek på systemnivå (GCC, protobuf, libpq) medan Fabric levererar nyare versioner av data/ML-bibliotek (mer Python paket totalt sett). Om du behöver en viss version fäster du den i din Fabric Miljö-konfiguration.
Tips/Råd
Kör en snabb kompatibilitetskontroll: exportera synapse-poolens bibliotekslista (pip freeze), jämför med manifestet för Fabric Runtime 1.3, och installera eventuella saknade bibliotek i Fabric-miljön innan du kör migrerade notebooks. En rad-för-rad-jämförelse av alla inbyggda bibliotek och versioner mellan Fabric och Synapse Spark-körmiljöer finns i microsoft/synapse-spark-runtime GitHub-repository.