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 sammenligner Azure Synapse Spark og Fabric Spark på tværs af Spark-pools, konfigurationer, biblioteker, notebooks og Spark-jobdefinitioner (SJD).
For en visning fokuseret på Delta Lake og Lakehouse (inklusive standardtabelformater og runtime-standarder), se Lakehouse og Delta Lake-tabeller.
| Kategori | Azure Synapse Spark | Stof spark |
|---|---|---|
| Spark-bassiner | Spark-pool - - |
Starterpool (forvarmet) / Brugerdefineret pulje V-rækkefølge Høj samtidighed |
| Spark-konfigurationer | Puljeniveau Definitionsniveau for notesbog eller Spark-job |
Miljøniveau Definitionsniveau for notesbog eller Spark-job |
| Spark-biblioteker | Pakker på arbejdsområdeniveau Pakker på gruppeniveau Indbyggede pakker |
- Miljøbiblioteker Indbyggede biblioteker |
| Ressourcer | Notesbog (Python, Scala, Spark SQL, R, .NET) Spark-jobdefinition (Python, Scala, .NET) Synapse-pipelines Pipeline-aktiviteter (notesbog, Spark-jobdefinition) |
Notesbog (Python, Scala, Spark SQL, R) Spark-jobdefinition (Python, Scala, R) Data Factory-pipelines Pipeline-aktiviteter (notesbog, Spark-jobdefinition) |
| Data | Primært lager (ADLS Gen2) Dataopbevaring (klynge/områdebaseret) |
Primært lager (OneLake) Dataopbevaring (kapacitet/områdebaseret) |
| Metadata | Intern hive-metastore (HMS) Ekstern HMS (ved hjælp af Azure SQL DB) |
Intern HMS (lakehouse) - |
| Forbindelser | Forbindelsestype (sammenkædede tjenester) Datakilder Datakildekonn. med arbejdsområdeidentitet |
Connectortype (Data Movement and Transformation Services) Datakilder - |
| Sikkerhed | RBAC og adgangskontrol AdLS Gen2 (Lager ACL'er) Private Links Managed virtual network (VNet) til netværksisolering Synapse-arbejdsområdeidentitet Dataeksfiltrationsbeskyttelse (DEP) Tjenestekoder Key Vault (via mssparkutils/linked service) |
RBAC og adgangskontrol OneLake RBAC Private Links Administreret virtuelt netværk (VNet) Arbejdsområdeidentitet - Tjenestekoder Key Vault (via notebookutils) |
| DevOps | Azure DevOps-integration CI/CD (ingen indbygget understøttelse) |
Azure DevOps-integration Udrulningspipelines |
| Udvikleroplevelse | IDE-integration (IntelliJ) Brugergrænsefladen i Synapse Studio Samarbejde (arbejdsområder) Livy API API/SDK mssparkutils |
IDE-integration (VS Code) Stofbrugergrænseflade Samarbejde (arbejdsområder og deling) Livy API- API/SDK notebookutils |
| Logføring og overvågning | Spark Advisor Indbyggede overvågningspuljer og job (via Synapse Studio) Spark-oversigtsserver Prometheus/Grafana Loganalyse Lagerkonto Event Hubs |
Spark Advisor Indbyggede overvågningspuljer og job (via overvågningshub) Spark-oversigtsserver - Loganalyse lagerkonto Event Hubs |
| Forretningskontinuitet og it-katastrofeberedskab (BCDR) | BCDR (data) ADLS Gen2 | BCDR (data) OneLake |
Hvornår skal du vælge: Brug Fabric Spark til samlet analyse med OneLake-lagring, indbyggede CI/CD-pipelines og kapacitetsbaseret skalering. Brug Azure Synapse Spark, når du har brug for GPU-accelererede pools, eksterne Hive Metastore eller JDBC-forbindelser.
Nøglebegrænsninger i Fabric
- DMTS i notesbøger: Data Movement and Transformation Services kan ikke bruges i notebooks eller Spark-jobdefinitioner
- Managed identity for Key Vault: Ikke understøttet i notebooks
- Ekstern Hive Metastore: Ikke understøttet
- GPU-accelererede pools: Ikke tilgængelige
- .NET for Spark (C#): Ikke understøttet
Flere overvejelser om stof
- Arbejdsbelastningsniveau RBAC: Fabric understøtter fire arbejdsområder. For mere information, se Roller i arbejdsområder.
- CI/CD: Brug Fabric API/SDK og deployment-pipelines.
Sammenligning af Spark-bassin
I følgende tabel sammenlignes Azure Synapse Spark- og Fabric Spark-puljer.
| Spark-indstilling | Azure Synapse Spark | Stof spark |
|---|---|---|
| Live pool (for-opvarmede instanser) | - | Ja, starterpulje |
| Brugerdefineret pulje | Ja | Ja |
| Spark-versioner (runtime) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.4, 3.5, 4.0 |
| Automatisk skalering | Ja | Ja |
| Dynamisk allokering af eksekutorer | Ja, op til 200 | Ja, baseret på kapacitet |
| Justerbare nodestørrelser | Ja, 3-200 | Ja, 1-baseret på kapacitet |
| Mindste nodekonfiguration | 3 noder | 1 node |
| Nodestørrelsesfamilie | Hukommelse optimeret, GPU-accelereret | Hukommelsesoptimeret |
| Nodestørrelse | Lille XXXLarge | Lille XXLarge |
| Autopause | Ja, minimum 5 minutter, der kan tilpasses | Ja, ikke-brugerdefineret 2 minutter |
| Høj samtidighed | Nej | Ja |
| V-rækkefølge | Nej | Ja |
| Spark autotune | Nej | Ja |
| Oprindeligt eksekveringsprogram | Nej | Ja |
| Samtidighedsgrænser | Løst | Variabel baseret på kapacitet |
| Flere Spark-puljer | Ja | Ja (miljøer) |
| Intelligent cache | Ja | Ja |
| API/SDK-understøttelse | Ja | Ja |
- Runtime: Fabric understøtter ikke Spark 3.3 og tidligere versioner. Fabric Spark understøtter Spark 3.4 med Delta 2.4 inden for runtime 1.2, Spark 3.5 med delta 3.1 inden for runtime 1.3 og Spark 4.0 med delta 4.0 inden for runtime 2.0.
Hvornår skal du vælge: Brug Fabric Spark-pools til hurtig opstart (start-pools), enkelt-node-jobs, sessioner med høj samtidighed og V-Order-optimering. Brug Azure Synapse-pools, når du har brug for GPU-acceleration eller fast skalering op til 200 noder.
Forståelse af Spark pool-modeller
Azure Synapse og Fabric bruger fundamentalt forskellige poolmodeller:
Azure Synapse: En Spark-pool er en fast beregningsressource med et maksimalt antal noder. Hvert job (notebook- eller Spark-jobdefinition) udgør en klynge inde i puljen. Puljen definerer den øvre grænse for noder, der er tilgængelige på tværs af alle kørende artefakter.
Fabric: En Spark-pool er en konfigurationsskabelon, ikke en fast backing-beregningsressource. Hver artefakt leverer sin egen klynge, men størrelsen begrænses af Capacity vCores, ikke af en pool max-size egenskab. Sessioner med høj samtidighed tillader artefakter at dele samme session eller klynge.
| Aspekt | Azure Synapse | Stof |
|---|---|---|
| Hvad definerer total compute? | Pool-max-noder | Kapacitet (vCores + burst) |
| Hvad repræsenterer puljen? | Faktisk beregningsgrænse | Skabelon til klyngeoprettelse |
| Parallelisme begrænset af | Poolnode-tælling | Total kapacitet vCores |
Praktisk eksempel: sammenligning af samtidighed
Følgende tabel sammenligner, hvor mange samtidige jobs der kan køre under forskellige konfigurationer, under antagelse af en klyngestørrelse på 1 driver + 6 arbejdere (7 noder, 28 vCores pr. job) med små noder (4 vCores hver).
| Metrisk | Synapse (24-node-pool) | Stof F16 (96 Spark vCores) | Fabric F32 (192 Spark vCores) |
|---|---|---|---|
| Beregn grænse | 24 noder | 32 vCores × 3 burst = 96 vCores | 64 vCores × 3 burst = 192 vCores |
| Maksimalt samtidige job | 3 (bruger 21 noder) | 3 (bruger 84 vCores) | 6 (bruger 168 vCores) |
| Resterende kapacitet | 3 noder | 12 vCores | 24 vCores |
| Køgrænse | 200 pr. pulje | 16 pr. kapacitet | 32 pr. kapacitet |
For mere information om Fabric-kapacitet og samtidighed, se Samtidighedsgrænser og køer.
Spark-runtime-versioner
Fabric Spark-understøttede versioner:
- Spark 3.3 / Delta 2.2: Runtime 1.1
- Spark 3.4 / Delta 2.4: Runtime 1.2
- Spark 3.5 / Delta 3.1: Kørselstid 1.3
Fabric understøtter ikke Spark 2.4, 3.1 eller 3.2.
Justerbare nodestørrelser
Azure Synapse Spark pools skalerar upp till 200 nodes uanset nodestørrelse. I Fabric afhænger det maksimale antal noder af nodestørrelse og provisioned capacity (SKU).
Omregning af tekstilkapacitet: 2 gnist-vCores = 1 kapacitetsenhed. Formlen: samlede vCores i kapacitet ÷ vCores pr. nodestørrelse = maksimalt antal tilgængelige noder.
For eksempel leverer SKU F64 64 kapacitetsenheder (128 Spark vCores). Følgende tabel viser nodegrænser for F64:
| Spark-bassinstørrelse | Azure Synapse Spark | Fabric Spark (brugerdefineret pool, SKU F64) |
|---|---|---|
| Lille (4 vCores) | Min.: 3, maks.: 200 | Min.: 1, maks.: 32 |
| Medium (8 vCores) | Min.: 3, maks.: 200 | Min.: 1, maks.: 16 |
| Stor (16 vCores) | Min.: 3, maks.: 200 | Min.: 1, maks.: 8 |
| X-Large (32 vCores) | Min.: 3, maks.: 200 | Min.: 1, maks.: 4 |
| XX-Large (64 vCores) | Min.: 3, maks.: 200 | Min.: 1, maks.: 2 |
Du kan få flere oplysninger under Spark Compute.
Nodestørrelser
Fabric Spark-pools understøtter kun Memory Optimized node-familien. GPU-accelererede pools, der er tilgængelige i Azure Synapse, understøttes ikke i Fabric.
Nodestørrelsessammenligning (XX-Large):
- Azure Synapse: 432 GB memory
- Fabric: 512 GB hukommelse, 64 vCores
Nodestørrelserne Small til X-Large har identiske vCores og hukommelse i både Azure Synapse og Fabric.
Autopause-adfærd
Sammenligning af autopauseindstillinger:
- Azure Synapse: Configurable idle timeout, minimum 5 minutes
- Fabric: Fastsatte 2-minutters autopause efter sessionen udløber (ikke konfigurerbar), standard sessionstimeout er 20 minutter
Høj samtidighed
Fabric understøtter høj samtidighedstilstand for notebooks, hvilket tillader flere brugere at dele en enkelt Spark-session. Azure Synapse understøtter ikke denne funktion.
Samtidighedsgrænser
Azure Synapse Spark limits (fixed):
- 50 samtidige jobs pr. pulje, 200 kø-jobs pr. pulje
- 250 aktive job pr. pulje, 1.000 pr. arbejdsplads
Fabric Spark-grænser (SKU-baseret):
- Samtidige job varierer efter kapacitet SKU: 1 til 512 maks
- Dynamisk reservebaseret throttling håndterer spidsbelastning
Du kan få flere oplysninger under Samtidighedsgrænser og -kø i Microsoft Fabric Spark.
Flere Spark-puljer
I Fabric kan du bruge miljøer til at konfigurere og vælge forskellige Spark-pools pr. notebook- eller Spark-jobdefinition.
Bemærk
Få mere at vide om, hvordan du overfører Azure Synapse Spark-puljer til Fabric.
Sammenligning af Spark-konfigurationer
Spark-konfigurationer gælder på to niveauer:
- Miljøniveau: Standardkonfiguration for alle Spark-jobs i miljøet
- Inline-niveau: Konfiguration per session i notebooks eller Spark-jobdefinitioner
| Spark-konfiguration | Azure Synapse Spark | Stof spark |
|---|---|---|
| Miljøniveau | Ja, puljer | Ja, miljøer |
| Inline | Ja | Ja |
| Importér/eksportér | Ja | Ja (.yml fra miljøer) |
| API/SDK-understøttelse | Ja | Ja |
Hvornår skal du vælge: Begge platforme understøtter miljø- og inline-konfigurationer. Fabric bruger miljøer i stedet for pool-niveau konfigurationer.
-
Inline-syntaks: I Fabric, brug
spark.conf.set(<conf_name>, <conf_value>)til sessionsniveau-konfigurationer. Til batchjobs, brug SparkConf. -
Uforanderlige konfigurationer: Nogle Spark-konfigurationer kan ikke ændres. Fejlmeddelelse:
AnalysisException: Can't modify the value of a Spark config: <config_name> - V-Order: Aktiveret som standard i Fabric; Skrivetidsoptimering for parketfiler. Se V-Order.
- Optimeret skrivning: Aktiveret som standard i Fabric; deaktiveret som standard i Azure Synapse.
Sammenligning af Spark-biblioteker
Spark-biblioteker gælder på tre niveauer:
- Workspace-niveau: Kun tilgængelig i Azure Synapse
- Miljøniveau: Biblioteker tilgængelige for alle notebooks og Spark-jobdefinitioner i miljøet
- Inline: Session-specifikke biblioteker installeret ved notebook-opstart
| Spark-bibliotek | Azure Synapse Spark | Stof spark |
|---|---|---|
| Arbejdsområdeniveau | Ja | Nej |
| Miljøniveau | Ja, puljer | Ja, miljøer |
| Inline | Ja | Ja |
| Importér/eksportér | Ja | Ja |
| API/SDK-understøttelse | Ja | Ja |
Hvornår skal man vælge: Begge platforme understøtter miljø- og inline-biblioteker. Fabric understøtter ikke pakker på arbejdsområdeniveau.
- Indbyggede biblioteker: Fabric- og Azure Synapse-runtimes deler en fælles Spark-kerne, men adskiller sig i biblioteksversioner. Nogle kodetyper kan kræve genkompilering eller brugerdefinerede biblioteker. Se Fabric-runtime-biblioteker.
Bemærk
Få mere at vide om, hvordan du overfører Azure Synapse Spark-biblioteker til Fabric.
Sammenligning af notesbog
Notesbøger og Spark-jobdefinitioner er primære kodeelementer til udvikling af Apache Spark-job i Fabric. Der er nogle forskelle mellem Azure Synapse Spark-notesbøger og Fabric Spark-notesbøger:
| Notesbogfunktionalitet | Azure Synapse Spark | Stof spark |
|---|---|---|
| Importér/eksportér | Ja | Ja |
| Konfiguration af session | Ja. UI og inline | Ja. UI (miljø) og inline |
| IntelliSense | Ja | Ja |
| mssparkutils | Ja | Ja |
| Notesbogressourcer | Nej | Ja |
| Samarbejd | Nej | Ja |
| Høj samtidighed | Nej | Ja |
| .NET til Spark C# | Ja | Nej |
| Understøttelse af pipelineaktivitet | Ja | Ja |
| Indbygget understøttelse af planlagt kørsel | Nej | Ja |
| API/SDK-understøttelse | Ja | Ja |
Hvornår skal du vælge: Brug Fabric-notesbøger til samarbejde, sessioner med høj samtidighed, indbygget planlægning og notesbogsressourcer. Brug Azure Synapse notebooks, hvis du har brug for .NET for Spark (C#).
-
notebookutils.credentials: Kun
getTokenoggetSecretunderstøttes i Fabric (DMTS-forbindelser er ikke tilgængelige). - Notebook-ressourcer: Fabric leverer et Unix-lignende filsystem til håndtering af filer. Se Hvordan du bruger notesbøger.
- High concurrency: Alternative to ThreadPoolExecutor in Azure Synapse. Se Konfigurér høj samtidighedstilstand.
- .NET for Spark: Migrer C#/F#-arbejdsbelastninger til Python eller Scala.
- Linked services: Erstat med Spark-biblioteker til eksterne datakildeforbindelser.
Bemærk
Få mere at vide om, hvordan du overfører notesbøger fra Azure Synapse til Fabric.
Sammenligning af definition af Spark-job
Vigtige overvejelser i forbindelse med definitionen af Spark-job:
| Spark-jobfunktionalitet | Azure Synapse Spark | Stof spark |
|---|---|---|
| PySpark | Ja | Ja |
| Scala | Ja | Ja |
| .NET til Spark C# | Ja | Nej |
| SparkR | Nej | Ja |
| Importér/eksportér | Ja (brugergrænseflade) | Nej |
| Understøttelse af pipelineaktivitet | Ja | Ja |
| Indbygget understøttelse af planlagt kørsel | Nej | Ja |
| Politikker for Forsøg igen | Nej | Ja |
| API/SDK-understøttelse | Ja | Ja |
Hvornår skal du vælge: Brug Fabric Spark-jobdefinitioner til SparkR-support, indbygget planlægning og retry-politikker. Brug Azure Synapse, hvis du har brug for .NET til Spark (C#) eller UI-baseret import/eksport.
- Understøttede filer: .py, . R- og .jar-filer med referencefiler, kommandolinjeargumenter og lakehouse-referencer.
- Import/eksport: UI-baseret JSON-import/eksport kun tilgængelig i Azure Synapse.
- Genprøv-politikker: Aktiver ubegrænsede kørsler for Spark Structured Streaming-jobs.
- .NET for Spark: Migrer C#/F#-arbejdsbelastninger til Python eller Scala.
Sammenligning af Hive Metastore (HMS)
| HMS-type | Azure Synapse Spark | Stof spark |
|---|---|---|
| Intern HMS | Ja | Ja (lakehouse) |
| Ekstern HMS | Ja | Nej |
Hvornår skal du vælge imellem: Brug Fabric, hvis en intern HMS med søhus-baseret løsning opfylder dine behov. Brug Azure Synapse, hvis du har brug for ekstern adgang til Hive Metastore (Azure SQL DB) eller Catalog API.
Bemærk
Få mere at vide om, hvordan du overfører HMS-metadata fra Azure Synapse Spark-kataloget til Fabric.
Relateret indhold
- Få mere at vide om overførselsindstillinger for Spark-puljer, konfigurationer, biblioteker, notesbøger og Spark-jobdefinitioner
- Overfør data og pipelines
- Overfør Hive Metastore-metadata