Del via


Sammenlign Fabric Dataudvikler ing og Azure Synapse Spark

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

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:

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.

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.

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 getToken og getSecret understø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.

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.