Sammenlign Fabric Dataudvikler ing og Azure Synapse Spark
Denne sammenligning mellem Fabric Dataudvikler ing og Azure Synapse Spark indeholder en oversigt over vigtige funktioner og en dybdegående analyse på tværs af forskellige kategorier, som omfatter Spark-puljer, konfiguration, biblioteker, notesbøger og Spark-jobdefinitioner.
I følgende tabel sammenlignes Azure Synapse Spark og Fabric Spark på tværs af forskellige kategorier:
Kategori | Azure Synapse Spark | Stof spark |
---|---|---|
Spark-bassiner | Spark-pool - - |
Startpulje / - 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-datapipelines Pipelineaktiviteter (notesbog, SJD) |
Notesbog (Python, Scala, Spark SQL, R) Spark-jobdefinition (Python, Scala, R) Data Factory-datapipelines Pipelineaktiviteter (notesbog, SJD) |
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 |
Forbindelsestype (DMTS) Datakilder - |
Sikkerhed | RBAC og adgangskontrol AdLS Gen2 (Lager ACL'er) Private Links Administreret VNet (netværksisolation) Synapse-arbejdsområdeidentitet Data Exfiltration Protection (DEP) Tjenestekoder Key Vault (via mssparkutils/linked service) |
RBAC og adgangskontrol OneLake RBAC Private Links Administreret VNet Arbejdsområdeidentitet - Tjenestekoder Key Vault (via mssparkutils) |
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) - API/SDK mssparkutils |
Logføring og overvågning | Spark Advisor Indbyggede overvågningspuljer og job (via Synapse Studio) Spark-oversigtsserver Prometheus/Grafana Log Analytics Lagerkonto Event Hubs |
Spark Advisor Indbyggede overvågningspuljer og job (via overvågningshub) Spark-oversigtsserver - - - - |
Forretningskontinuitet og it-katastrofeberedskab (BCDR) | BCDR (data) ADLS Gen2 | BCDR (data) OneLake |
Overvejelser og begrænsninger:
DMTS-integration: Du kan ikke bruge DMTS via notesbøger og Spark-jobdefinitioner.
RBAC på arbejdsbelastningsniveau: Fabric understøtter fire forskellige arbejdsområderoller. Du kan få flere oplysninger under Roller i arbejdsområder i Microsoft Fabric.
Administreret identitet: Fabric understøtter i øjeblikket ikke kørsel af notesbøger og Spark-jobdefinitioner ved hjælp af arbejdsområdets identitet eller administrerede identitet for Azure KeyVault i notesbøger.
CI/CD: Du kan bruge Fabric API/SDK og udrulningspipelines.
Livy API, og hvordan du indsender og administrerer Spark-job: Livy API er i køreplanen, men endnu ikke eksponeret i Fabric. Du skal oprette notesbøger og Spark-jobdefinitioner med fabric-brugergrænsefladen.
Spark-logge og -målepunkter: I Azure Synapse kan du sende Spark-logge og -målepunkter til dit eget lager, f.eks. Log Analytics, blob og Event Hubs. Du kan også få en liste over Spark-programmer til arbejdsområdet fra API'en. I øjeblikket er begge disse funktioner ikke tilgængelige i Fabric.
Andre overvejelser:
- JDBC: Understøttelse af JDBC-forbindelse er i øjeblikket ikke tilgængelig i Fabric.
Sammenligning af Spark-bassin
I følgende tabel sammenlignes Azure Synapse Spark- og Fabric Spark-puljer.
Spark-indstilling | Azure Synapse Spark | Stof spark |
---|---|---|
Livebassin (førvarme forekomster) | - | Ja, startpuljer |
Brugerdefineret pulje | Ja | Ja |
Spark-versioner (runtime) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.3, 3.4, 3.5 |
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 |
Kørsel: Fabric understøtter ikke Spark 2.4-, 3.1- og 3.2-versioner. Fabric Spark understøtter Spark 3.3 med Delta 2.2 inden for Runtime 1.1, Spark 3.4 med Delta 2.4 inden for Runtime 1.2 og Spark 3.5 med Delta 3.1 inden for Runtime 1.3.
Autoskalering: I Azure Synapse Spark kan puljen skalere op til 200 noder uanset nodestørrelsen. I Fabric er det maksimale antal noder underlagt nodestørrelsen og den klargjorte kapacitet. Se følgende eksempel for F64 SKU'en.
Spark-bassinstørrelse Azure Synapse Spark Fabric Spark (brugerdefineret pool, SKU F64) Lille Min.: 3, maks.: 200 Min.: 1, maks.: 32 Mellem Min.: 3, maks.: 200 Min.: 1, maks.: 16 Stor Min.: 3, maks.: 200 Min.: 1, maks.: 8 X-stor Min.: 3, maks.: 200 Min.: 1, maks.: 4 XX-stor Min.: 3, maks.: 200 Min.: 1, maks.: 2 Justerbare nodestørrelser: I Azure Synapse Spark kan du gå op til 200 noder. I Fabric afhænger antallet af noder, du kan have i din brugerdefinerede Spark-pool, af din nodestørrelse og Fabric-kapacitet. Kapacitet er en måling af, hvor meget beregningskraft du kan bruge i Azure. En måde at tænke på det på er, at to Spark vCores (en enhed med beregningskraft til Spark) er lig med én kapacitetsenhed. En Fabric Capacity SKU F64 har f.eks. 64 kapacitetsenheder, hvilket svarer til 128 Spark VCores. Så hvis du vælger en lille nodestørrelse, kan du have op til 32 noder i din pool (128/4 = 32). Derefter er det samlede antal vCores i kapaciteten/vCores pr. nodestørrelse = det samlede antal tilgængelige noder. Du kan få flere oplysninger under Spark Compute.
Nodestørrelsesfamilie: Fabric Spark-puljer understøtter kun hukommelsesoptimeret nodestørrelsesfamilie indtil videre. Hvis du bruger en GPU-accelereret SKU Spark-pool i Azure Synapse, er de ikke tilgængelige i Fabric.
Nodestørrelse: Den xx store nodestørrelse leveres med 432 GB hukommelse i Azure Synapse, mens den samme nodestørrelse har 512 GB i Fabric, herunder 64 vCores. Resten af nodestørrelserne (små til og med x store) har de samme vCores og hukommelse i både Azure Synapse og Fabric.
Automatisk pause: Hvis du aktiverer den i Azure Synapse Spark, stopper Apache Spark-gruppen automatisk midlertidigt efter en angivet mængde inaktiv tid. Denne indstilling kan konfigureres i Azure Synapse (minimum 5 minutter), men brugerdefinerede puljer har en ikke-brugerdefineret standardtid på 2 minutter i Fabric, når sessionen udløber. Standardsessionens udløb er angivet til 20 minutter i Fabric.
Høj samtidighed: Fabric understøtter høj samtidighed i notesbøger. Du kan få flere oplysninger under Tilstanden Høj samtidighed i Fabric Spark.
Samtidighedsgrænser: Med hensyn til samtidighed har Azure Synapse Spark en grænse på 50 samtidige kørende job pr. Spark-gruppe og 200 køinddelte job pr. Spark-gruppe. De maksimale aktive job er 250 pr. Spark-gruppe og 1000 pr. arbejdsområde. I Microsoft Fabric Spark definerer kapacitets-SKU'er samtidighedsgrænserne. SKU'er har forskellige grænser for maks. samtidige job, der spænder fra 1 til 512. Fabric Spark har også et dynamisk reservebaseret begrænsningssystem til at administrere samtidighed og sikre problemfri drift selv i spidsbelastningstider. Du kan få flere oplysninger under Samtidighedsgrænser og -kø i Microsoft Fabric Spark - og Fabric-kapaciteter.
Flere Spark-puljer: Hvis du vil have flere Spark-puljer, skal du bruge Fabric-miljøer til at vælge en pulje efter notesbog eller Spark-jobdefinition. Du kan få flere oplysninger under Opret, konfigurer og brug et miljø i Microsoft Fabric.
Bemærk
Få mere at vide om, hvordan du overfører Azure Synapse Spark-puljer til Fabric.
Sammenligning af Spark-konfigurationer
Spark-konfigurationer kan anvendes på forskellige niveauer:
- Miljøniveau: Disse konfigurationer bruges som standardkonfiguration for alle Spark-job i miljøet.
- Indbygget niveau: Angiv Spark-konfigurationer indbygget ved hjælp af notesbøger og Spark-jobdefinitioner.
Selvom begge indstillinger understøttes i Azure Synapse Spark og Fabric, er der nogle overvejelser:
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 |
Miljøniveau: I Azure Synapse kan du definere flere Spark-konfigurationer og tildele dem til forskellige Spark-puljer. Det kan du gøre i Fabric ved hjælp af miljøer.
Indbygget: I Azure Synapse understøtter både notesbøger og Spark-job vedhæftning af forskellige Spark-konfigurationer. I Fabric tilpasses konfigurationer på sessionsniveau med indstillingen
spark.conf.set(<conf_name>, <conf_value>)
. I forbindelse med batchjob kan du også anvende konfigurationer via SparkConf.Import/eksport: Denne indstilling for Spark-konfigurationer er tilgængelig i Fabric-miljøer.
Andre overvejelser:
- Uforanderlige Spark-konfigurationer: Nogle Spark-konfigurationer er uforanderlige. Hvis du får vist meddelelsen
AnalysisException: Can't modify the value of a Spark config: <config_name>
, er den pågældende egenskab uforanderlig. - FAIR scheduler: FAIR scheduler bruges i høj samtidighedstilstand.
- V-Order: V-Order er skrivetidsoptimering anvendt på parketfiler, der som standard er aktiveret i Fabric Spark-puljer.
- Optimeret skrivning: Optimeret skrivning er som standard deaktiveret i Azure Synapse, men aktiveret som standard for Fabric Spark.
- Uforanderlige Spark-konfigurationer: Nogle Spark-konfigurationer er uforanderlige. Hvis du får vist meddelelsen
Sammenligning af Spark-biblioteker
Du kan anvende Spark-biblioteker på forskellige niveauer:
- Arbejdsområdeniveau: Du kan ikke uploade/installere disse biblioteker til dit arbejdsområde og senere tildele dem til en bestemt Spark-gruppe i Azure Synapse.
- Miljøniveau: Du kan uploade/installere biblioteker til et miljø. Biblioteker på miljøniveau er tilgængelige for alle notesbøger og Spark-jobdefinitioner, der kører i miljøet.
- Indbygget: Ud over biblioteker på miljøniveau kan du også angive indbyggede biblioteker. Det kan f.eks. være i starten af en notesbogsession.
Overvejelser:
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 |
- Andre overvejelser:
- Indbyggede biblioteker: Fabric og Azure Synapse deler en fælles kerne af Spark, men de kan variere en smule i forskellige understøttelser af deres kørselsbiblioteker. Brug af kode er typisk kompatibel med nogle undtagelser. I dette tilfælde kan brugerne have brug for kompilering, tilføjelse af brugerdefinerede biblioteker og justering af syntaks. Se indbyggede Fabric Spark-kørselsbiblioteker her.
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, brugergrænseflade og indbygget | Ja, brugergrænseflade (miljø) og indbygget |
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 |
mssparkutils: Da DMTS-forbindelser endnu ikke understøttes i Fabric, er det kun
getToken
oggetSecret
understøttes indtil videre i Fabric formssparkutils.credentials
.Ressourcer til notesbøger: Fabric-notesbøger indeholder et Unix-lignende filsystem, der kan hjælpe dig med at administrere dine mapper og filer. Du kan få flere oplysninger under Sådan bruger du Microsoft Fabric-notesbøger.
Samarbejd: Fabric-notesbogen er et samarbejdselement, der understøtter, at flere brugere redigerer den samme notesbog. Du kan få flere oplysninger under Sådan bruger du Microsoft Fabric-notesbøger.
Høj samtidighed: I Fabric kan du knytte notesbøger til en session med høj samtidighed. Denne indstilling er et alternativ til brugere, der bruger ThreadPoolExecutor i Azure Synapse. Du kan få flere oplysninger under Konfigurer tilstanden med høj samtidighed for Fabric-notesbøger.
.NET til Spark C#: Fabric understøtter ikke .NET Spark (C#). Vi anbefaler dog, at brugere med eksisterende arbejdsbelastninger, der er skrevet i C# eller F#, migrerer til Python eller Scala.
Indbygget understøttelse af planlagt kørsel: Fabric understøtter planlagte kørsler for notesbøger.
Andre overvejelser:
- Du kan bruge funktioner i en notesbog, der kun understøttes i en bestemt version af Spark. Husk, at Spark 2.4 og 3.1 ikke understøttes i Fabric.
- Hvis din notesbog eller Spark-job bruger en sammenkædet tjeneste med forskellige datakildeforbindelser eller tilslutningspunkter, skal du ændre dine Spark-job, så du kan bruge alternative metoder til håndtering af forbindelser til eksterne datakilder og vaske. Brug Spark-kode til at oprette forbindelse til datakilder ved hjælp af tilgængelige Spark-biblioteker.
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) | Nr. |
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 |
Spark-job: Du kan medbringe dine .py/. R/jar-filer. Fabric understøtter SparkR. En Spark-jobdefinition understøtter referencefiler, kommandolinjeargumenter, Spark-konfigurationer og lakehouse-referencer.
Import/eksport: I Azure Synapse kan du importere/eksportere json-baserede Spark-jobdefinitioner fra brugergrænsefladen. Denne funktion er endnu ikke tilgængelig i Fabric.
.NET til Spark C#: Fabric understøtter ikke .NET Spark (C#). Anbefalingen er dog, at brugere med eksisterende arbejdsbelastninger, der er skrevet i C# eller F#, migrerer til Python eller Scala.
Indbygget understøttelse af planlagt kørsel: Fabric understøtter planlagte kørsler for en Spark-jobdefinition.
Forsøg politikker igen: Denne indstilling giver brugerne mulighed for at køre Spark-strukturerede streamingjob på ubestemt tid.
Sammenligning af Hive Metastore (HMS)
Forskelle og overvejelser i forbindelse med Hive MetaStore (HMS):
HMS-type | Azure Synapse Spark | Stof spark |
---|---|---|
Intern HMS | Ja | Ja (lakehouse) |
Ekstern HMS | Ja | Nej |
- Ekstern HMS: Fabric understøtter i øjeblikket ikke en Katalog-API og adgang til en ekstern Hive Metastore (HMS).
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