Anteckning
Å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 jämförelsen mellan Fabric Dataingenjör ing och Azure Synapse Spark innehåller en sammanfattning av viktiga funktioner och en djupgående analys i olika kategorier, bland annat Spark-pooler, konfiguration, bibliotek, notebook-filer och Spark-jobbdefinitioner.
I följande tabell jämförs Azure Synapse Spark och Fabric Spark mellan olika kategorier:
| Kategori | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Spark-pooler | Spark-pool - - |
Anpassad pool för startpool / V-order Hög samtidighet |
| Spark-konfigurationer | Poolnivå Definitionsnivå för notebook- eller Spark-jobb |
Miljönivå Definitionsnivå för notebook- eller Spark-jobb |
| Spark-bibliotek | Paket på arbetsytenivå Paket på poolnivå Infogade paket |
- Miljöbibliotek Infogade bibliotek |
| Resurser | Notebook (Python, Scala, Spark SQL, R, .NET) Spark-jobbdefinition (Python, Scala, .NET) Synapse-pipelines Pipelineaktiviteter (notebook-fil, SJD) |
Notebook (Python, Scala, Spark SQL, R) Spark-jobbdefinition (Python, Scala, R) Data Factory-pipelines Pipelineaktiviteter (notebook-fil, SJD) |
| Data | Primär lagring (ADLS Gen2) Datahemvist (kluster/regionbaserad) |
Primär lagring (OneLake) Datahemvist (kapacitet/regionbaserad) |
| Metadata | Internt Hive-metaarkiv (HMS) Extern HMS (med Azure SQL DB) |
Intern HMS (lakehouse) - |
| anslutningar | Anslutningstyp (länkade tjänster) Datakällor Datakällans conn. med arbetsyteidentitet |
Anslutningstyp (DMTS) Datakällor - |
| Säkerhet | RBAC och åtkomstkontroll ACL:er för lagring (ADLS Gen2) Privata länkar Hanterat virtuellt nätverk (nätverksisolering) Synapse-arbetsyteidentitet Dataexfiltreringsskydd (DEP) Tjänsttaggar Key Vault (via mssparkutils/länkad tjänst) |
RBAC och åtkomstkontroll OneLake RBAC Privata länkar Hanterat virtuellt nätverk Arbetsyteidentitet - Tjänsttaggar Key Vault (via notebookutils) |
| DevOps | Azure DevOps-integrering CI/CD (inget inbyggt stöd) |
Azure DevOps-integrering Distributionspipelines |
| Utvecklarupplevelse | IDE-integrering (IntelliJ) Synapse Studio-användargränssnitt Samarbete (arbetsytor) Livy API API/SDK mssparkutils |
IDE-integrering (VS Code) Användargränssnitt för infrastrukturresurser Samarbete (arbetsytor och delning) Livy API API/SDK notebooktutils |
| Loggning och övervakning | Spark Advisor Inbyggda övervakningspooler och jobb (via Synapse Studio) Spark-historikserver Prometheus/Grafana Logganalys Lagringskonto Event Hubs |
Spark Advisor Inbyggda övervakningspooler och jobb (via övervakningshubben) Spark-historikserver - Log Analytics Lagringskonto Event Hubs |
| Affärskontinuitet och haveriberedskap (BCDR) | BCDR (data) ADLS Gen2 | BCDR (data) OneLake |
Överväganden och begränsningar:
DMTS-integrering: Du kan inte använda DMTS via notebook-filer och Spark-jobbdefinitioner.
RBAC på arbetsbelastningsnivå: Infrastrukturresurser stöder fyra olika arbetsyteroller. Mer information finns i Roller i arbetsytor i Microsoft Fabric.
Hanterad identitet: För närvarande har Fabric inte stöd för att köra notebook-filer och Spark-jobbdefinitioner med hjälp av arbetsytans identitet eller hanterade identitet för Azure KeyVault i notebook-filer.
CI/CD: Du kan använda Infrastruktur-API/SDK och distributionspipelines.
Andra överväganden:
- JDBC: JDBC-anslutningsstöd är för närvarande inte tillgängligt i Infrastrukturresurser.
Jämförelse av Spark-pool
I följande tabell jämförs Azure Synapse Spark- och Fabric Spark-pooler.
| Spark-inställning | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Livepool (förvärmd instans) | - | Ja, startpooler |
| Anpassad pool | Ja | Ja |
| Spark-versioner (runtime) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.3, 3.4, 3.5 |
| Automatisk skalning | Ja | Ja |
| Dynamisk allokering av köre | Ja, upp till 200 | Ja, baserat på kapacitet |
| Justerbara nodstorlekar | Ja, 3-200 | Ja, 1 baserat på kapacitet |
| Minsta nodkonfiguration | 3 noder | 1 nod |
| Nodstorleksfamilj | Minnesoptimerad, GPU accelererad | Minnesoptimerad |
| Nodstorlek | Small-XXXLarge | Small-XXLarge |
| Autopausera | Ja, anpassningsbart minst 5 minuter | Ja, oförlåtlig 2 minuter |
| Hög samtidighet | Nej | Ja |
| V-order | Nej | Ja |
| Autotune för Spark | Nej | Ja |
| Intern körningsmotor | Nej | Ja |
| Samtidighetsgränser | Åtgärdat | Variabel baserat på kapacitet |
| Flera Spark-pooler | Ja | Ja (miljöer) |
| Intelligent mellanlagring | Ja | Ja |
| Stöd för API/SDK | Ja | Ja |
Körning: Infrastrukturresurser stöder inte Spark 2.4-, 3.1- och 3.2-versioner. Fabric Spark stöder Spark 3.3 med Delta 2.2 i Runtime 1.1, Spark 3.4 med Delta 2.4 inom Runtime 1.2 och Spark 3.5 med Delta 3.1 inom Runtime 1.3.
Autoskalning: I Azure Synapse Spark kan poolen skala upp till 200 noder oavsett nodstorlek. I Infrastruktur utsätts det maximala antalet noder för nodstorlek och etablerad kapacitet. Se följande exempel för F64 SKU.
Storlek på Spark-pool Azure Synapse Spark Fabric Spark (anpassad pool, SKU F64) Litet Min: 3, Max: 200 Min: 1, Max: 32 Medium Min: 3, Max: 200 Min: 1, Max: 16 Stort Min: 3, Max: 200 Min: 1, Max: 8 X-Large Min: 3, Max: 200 Min: 1, Max: 4 XX-Large Min: 3, Max: 200 Min: 1, Max: 2 Justerbara nodstorlekar: I Azure Synapse Spark kan du gå upp till 200 noder. I Infrastruktur beror antalet noder som du kan ha i din anpassade Spark-pool på nodstorleken och infrastrukturkapaciteten. Kapacitet är ett mått på hur mycket databehandlingskraft du kan använda i Azure. Ett sätt att tänka på det är att två virtuella Spark-kärnor (en enhet för beräkningskraft för Spark) är lika med en kapacitetsenhet. En SKU F64 för infrastrukturkapacitet har till exempel 64 kapacitetsenheter, vilket motsvarar 128 virtuella Spark-kärnor. Så om du väljer en liten nodstorlek kan du ha upp till 32 noder i poolen (128/4 = 32). Sedan totalt antal virtuella kärnor i kapaciteten/virtuella kärnor per nodstorlek = totalt antal tillgängliga noder. Mer information finns i Spark-beräkning.
Nodstorleksfamilj: Infrastruktur spark-pooler stöder endast minnesoptimerad nodstorleksfamilj för tillfället. Om du använder en GPU-accelererad SKU Spark-pool i Azure Synapse är de inte tillgängliga i Fabric.
Nodstorlek: Den xx-stora nodstorleken levereras med 432 GB minne i Azure Synapse, medan samma nodstorlek har 512 GB i Infrastrukturresurser, inklusive 64 virtuella kärnor. Resten av nodstorlekarna (små till x stora) har samma virtuella kärnor och minne i både Azure Synapse och Fabric.
Automatisk pausning: Om du aktiverar den i Azure Synapse Spark pausas Apache Spark-poolen automatiskt efter en angiven inaktivitetstid. Den här inställningen kan konfigureras i Azure Synapse (minst 5 minuter), men anpassade pooler har en oförlåtlig standardtid för autopaus på 2 minuter i Infrastruktur när sessionen upphör att gälla. Standardsessionens förfallodatum är inställt på 20 minuter i Infrastrukturresurser.
Hög samtidighet: Infrastrukturresurser stöder hög samtidighet i notebook-filer. Mer information finns i Läge för hög samtidighet i Fabric Spark.
Samtidighetsgränser: När det gäller samtidighet har Azure Synapse Spark en gräns på 50 samtidiga jobb som körs per Spark-pool och 200 köade jobb per Spark-pool. De maximala aktiva jobben är 250 per Spark-pool och 1 000 per arbetsyta. I Microsoft Fabric Spark definierar kapacitets-SKU:er samtidighetsgränserna. SKU:er har olika gränser för maximalt antal samtidiga jobb som sträcker sig från 1 till 512. Dessutom har Fabric Spark ett dynamiskt reservbaserat begränsningssystem för att hantera samtidighet och säkerställa smidig drift även under tider med hög användning. Mer information finns i Samtidighetsgränser och köer i Microsoft Fabric Spark - och Fabric-kapaciteter.
Flera Spark-pooler: Om du vill ha flera Spark-pooler använder du Infrastrukturmiljöer för att välja en pool efter notebook- eller Spark-jobbdefinition. Mer information finns i Skapa, konfigurera och använda en miljö i Microsoft Fabric.
Kommentar
Lär dig hur du migrerar Azure Synapse Spark-pooler till Infrastrukturresurser.
Jämförelse av Spark-konfigurationer
Spark-konfigurationer kan tillämpas på olika nivåer:
- Miljönivå: Dessa konfigurationer används som standardkonfiguration för alla Spark-jobb i miljön.
- Infogad nivå: Ange Spark-konfigurationer infogade med hjälp av notebook-filer och Spark-jobbdefinitioner.
Båda alternativen stöds i Azure Synapse Spark och Fabric, men det finns några saker att tänka på:
| Apache Spark-konfiguration | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Miljönivå | Ja, pooler | Ja, miljöer |
| Infogad | Ja | Ja |
| Import/export | Ja | Ja (.yml från miljöer) |
| Stöd för API/SDK | Ja | Ja |
Miljönivå: I Azure Synapse kan du definiera flera Spark-konfigurationer och tilldela dem till olika Spark-pooler. Du kan göra detta i Infrastrukturresurser med hjälp av miljöer.
Infogad: I Azure Synapse stöder både notebook-filer och Spark-jobb att ansluta olika Spark-konfigurationer. I Infrastruktur anpassas konfigurationer på sessionsnivå med inställningen
spark.conf.set(<conf_name>, <conf_value>). För batchjobb kan du även använda konfigurationer via SparkConf.Import/export: Det här alternativet för Spark-konfigurationer är tillgängligt i Infrastrukturmiljöer.
Andra överväganden:
-
Oföränderliga Spark-konfigurationer: Vissa Spark-konfigurationer är oföränderliga. Om du får meddelandet
AnalysisException: Can't modify the value of a Spark config: <config_name>är egenskapen i fråga oföränderlig. - FAIR-schemaläggare: FAIR-schemaläggaren används i hög samtidighetsläge.
- V-Order: V-Order är skrivtidsoptimering som tillämpas på de parquet-filer som är aktiverade som standard i Fabric Spark-pooler.
- Optimerad skrivning: Optimerad skrivning är inaktiverad som standard i Azure Synapse men aktiverad som standard för Fabric Spark.
-
Oföränderliga Spark-konfigurationer: Vissa Spark-konfigurationer är oföränderliga. Om du får meddelandet
Kommentar
Lär dig hur du migrerar Spark-konfigurationer från Azure Synapse till Infrastrukturresurser.
Jämförelse av Spark-bibliotek
Du kan använda Spark-bibliotek på olika nivåer:
- Arbetsytenivå: Du kan inte ladda upp/installera dessa bibliotek till din arbetsyta och senare tilldela dem till en specifik Spark-pool i Azure Synapse.
- Miljönivå: Du kan ladda upp/installera bibliotek till en miljö. Bibliotek på miljönivå är tillgängliga för alla notebook-filer och Spark-jobbdefinitioner som körs i miljön.
- Infogad: Förutom bibliotek på miljönivå kan du även ange infogade bibliotek. Till exempel i början av en notebook-session.
Överväganden:
| Spark-bibliotek | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Arbetsytenivå | Ja | Nej |
| Miljönivå | Ja, pooler | Ja, miljöer |
| Infogad | Ja | Ja |
| Import/export | Ja | Ja |
| Stöd för API/SDK | Ja | Ja |
-
Andra överväganden:
- Inbyggda bibliotek: Fabric och Azure Synapse delar en gemensam kärna i Spark, men de kan skilja sig något åt i olika stöd för sina körningsbibliotek. Att använda kod är vanligtvis kompatibelt med vissa undantag. I så fall kan användarna behöva kompilering, tillägg av anpassade bibliotek och justeringssyntax. Se inbyggda Infrastruktur Spark-körningsbibliotek här.
Kommentar
Lär dig hur du migrerar Azure Synapse Spark-bibliotek till Infrastrukturresurser.
Jämförelse av notebook-filer
Notebook-filer och Spark-jobbdefinitioner är primära kodobjekt för utveckling av Apache Spark-jobb i Infrastrukturresurser. Det finns vissa skillnader mellan Azure Synapse Spark-notebook-filer och Fabric Spark-notebook-filer:
| Notebook-funktion | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Import/export | Ja | Ja |
| Sessionskonfiguration | Ja, användargränssnitt och infogat | Ja, användargränssnitt (miljö) och infogat |
| IntelliSense | Ja | Ja |
| mssparkutils | Ja | Ja |
| Notebook-resurser | Nej | Ja |
| Samarbeta | Nej | Ja |
| Hög samtidighet | Nej | Ja |
| .NET för Spark C# | Ja | Nej |
| Stöd för pipelineaktivitet | Ja | Ja |
| Inbyggt stöd för schemalagd körning | Nej | Ja |
| Stöd för API/SDK | Ja | Ja |
mssparkutils: Eftersom DMTS-anslutningar inte stöds i Infrastruktur ännu, stöds bara
getTokenochgetSecretstöds för tillfället i Infrastrukturresurser förmssparkutils.credentials.Notebooks-resurser: Infrastrukturanteckningsböcker tillhandahåller ett Unix-liknande filsystem som hjälper dig att hantera dina mappar och filer. Mer information finns i Använda Microsoft Fabric-notebook-filer.
Samarbeta: Fabric Notebook är ett samarbetsobjekt som stöder flera användare som redigerar samma notebook-fil. Mer information finns i Använda Microsoft Fabric-notebook-filer.
Hög samtidighet: I Infrastrukturresurser kan du koppla notebook-filer till en session med hög samtidighet. Det här alternativet är ett alternativ för användare som använder ThreadPoolExecutor i Azure Synapse. Mer information finns i Konfigurera läge för hög samtidighet för Fabric-notebook-filer.
.NET för Spark C#: Fabric stöder inte .NET Spark (C#). Emellertid är rekommendationen att användare med befintliga arbetsuppgifter skrivna i C# eller F# migrerar till Python eller Scala.
Inbyggt stöd för schemalagd körning: Infrastrukturresurser stöder schemalagda körningar för notebook-filer.
Andra överväganden:
- Du kan använda funktioner i en notebook-fil som endast stöds i en viss version av Spark. Kom ihåg att Spark 2.4 och 3.1 inte stöds i Infrastrukturresurser.
- Om ditt notebook- eller Spark-jobb använder en länkad tjänst med olika datakällanslutningar eller monteringspunkter bör du ändra dina Spark-jobb så att de använder alternativa metoder för att hantera anslutningar till externa datakällor och mottagare. Använd Spark-kod för att ansluta till datakällor med hjälp av tillgängliga Spark-bibliotek.
Kommentar
Lär dig hur du migrerar notebook-filer från Azure Synapse till Infrastrukturresurser.
Jämförelse av Spark-jobbdefinition
Viktiga definitionsöverväganden för Spark-jobb :
| Spark-jobbfunktion | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| PySpark | Ja | Ja |
| Scala | Ja | Ja |
| .NET för Spark C# | Ja | Nej |
| SparkR | Nej | Ja |
| Import/export | Ja (användargränssnitt) | Nej |
| Stöd för pipelineaktivitet | Ja | Ja |
| Inbyggt stöd för schemalagd körning | Nej | Ja |
| Principer för nya försök | Nej | Ja |
| Stöd för API/SDK | Ja | Ja |
Spark-jobb: Du kan ta med dina .py/. R/jar-filer. Fabric har stöd för SparkR. En Spark-jobbdefinition stöder referensfiler, kommandoradsargument, Spark-konfigurationer och lakehouse-referenser.
Import/export: I Azure Synapse kan du importera/exportera json-baserade Spark-jobbdefinitioner från användargränssnittet. Den här funktionen är inte tillgänglig ännu i Fabric.
.NET för Spark C#: Fabric stöder inte .NET Spark (C#). Rekommendationen är dock att användare med befintliga arbetsbelastningar som skrivits i C# eller F# migrerar till Python eller Scala.
Inbyggt stöd för schemalagd körning: Infrastrukturresurser stöder schemalagda körningar för en Spark-jobbdefinition.
Återförsöksprinciper: Med det här alternativet kan användare köra Spark-strukturerade direktuppspelningsjobb på obestämd tid.
Kommentar
Lär dig hur du migrerar Spark-jobbdefinitioner från Azure Synapse till Fabric.
Jämförelse av Hive-metaarkiv (HMS)
Skillnader och överväganden för Hive MetaStore (HMS):
| HMS-typ | Azure Synapse Spark | Fabric Spark |
|---|---|---|
| Intern HMS | Ja | Ja (lakehouse) |
| Extern HMS | Ja | Nej |
- Externt HMS: Infrastrukturresurser stöder för närvarande inte ett katalog-API och åtkomst till ett externt Hive-metaarkiv (HMS).
Kommentar
Lär dig hur du migrerar Azure Synapse Spark-katalog-HMS-metadata till Infrastrukturresurser.
Relaterat innehåll
- Läs mer om migreringsalternativ för Spark-pooler, konfigurationer, bibliotek, notebook-filer och Spark-jobbdefinitioner
- Migrera data och pipelines
- Migrera Metadata för Hive-metaarkiv