Sammenlign Fabric Dataingeniør ing og Azure Synapse Spark
Denne sammenligningen mellom Fabric Dataingeniør ing og Azure Synapse Spark gir et sammendrag av viktige funksjoner og en grundig analyse på tvers av ulike kategorier, som inkluderer Spark-bassenger, konfigurasjon, biblioteker, notatblokker og Spark-jobbdefinisjoner.
Tabellen nedenfor sammenligner Azure Synapse Spark og Fabric Spark på tvers av ulike kategorier:
Kategori | Azure Synapse Spark | Fabric Spark |
---|---|---|
Spark-bassenger | Spark-basseng - - |
Egendefinert utvalg for startutvalg / V-ordre Høy samtidighet |
Spark-konfigurasjoner | Bassengnivå Definisjonsnivå for notatblokk eller Spark-jobb |
Miljønivå Definisjonsnivå for notatblokk eller Spark-jobb |
Spark-biblioteker | Pakker på arbeidsområdenivå Pakker på bassengnivå Innebygde pakker |
- Miljøbiblioteker Innebygde biblioteker |
Ressurser | Notatblokk (Python, Scala, Spark SQL, R, .NET) Spark-jobbdefinisjon (Python, Scala, .NET) Synapse-datasamlebånd Pipeline-aktiviteter (notatblokk, SJD) |
Notatblokk (Python, Scala, Spark SQL, R) Spark-jobbdefinisjon (Python, Scala, R) Data Factory-datasamlebånd Pipeline-aktiviteter (notatblokk, SJD) |
Data | Primær lagringsplass (ADLS Gen2) Datalagring (klynge/områdebasert) |
Primær lagringsplass (OneLake) Datalagring (kapasitet/områdebasert) |
Metadata | Intern Hive Metastore (HMS) Ekstern HMS (ved hjelp av Azure SQL DB) |
Intern HMS (lakehouse) - |
Tilkoblinger | Koblingstype (koblede tjenester) Datakilder Datakilde-kobling. med arbeidsområdeidentitet |
Koblingstype (DMTS) Datakilder - |
Sikkerhet | RBAC og tilgangskontroll Storage ACLs (ADLS Gen2) Private koblinger Administrert VNet (nettverksisolasjon) Synapsearbeidsområdeidentitet Data Exfiltration Protection (DEP) Servicekoder Key Vault (via mssparkutils/ linked service) |
RBAC og tilgangskontroll OneLake RBAC Private koblinger Administrert VNet Arbeidsområdeidentitet - Servicekoder Key Vault (via mssparkutils) |
Utviklingsoperasjoner | Azure DevOps-integrering CI/CD (ingen innebygd støtte) |
Azure DevOps-integrering Utrullingssamlebånd |
Utvikleropplevelse | IDE-integrasjon (IntelliJ) Synapse Studio UI Samarbeid (arbeidsområder) Livy API API/SDK mssparkutils |
IDE-integrasjon (VS Code) Stoffgrensesnitt Samarbeid (arbeidsområder og deling) - API/SDK mssparkutils |
Logging og overvåking | Spark Advisor Innebygde overvåkingsutvalg og jobber (gjennom Synapse Studio) Spark-loggserver Prometheus/Grafana Logganalyse Lagringskonto Event Hubs |
Spark Advisor Innebygde overvåkingsutvalg og jobber (gjennom overvåkingshub) Spark-loggserver - - - - |
Forretningskontinuitet og nødutvinning (BCDR) | BCDR (data) ADLS Gen2 | BCDR (data) OneLake |
Vurderinger og begrensninger:
DMTS-integrering: Du kan ikke bruke DMTS via notatblokker og Spark-jobbdefinisjoner.
RBAC på arbeidsbelastningsnivå: Fabric støtter fire forskjellige arbeidsområderoller. Hvis du vil ha mer informasjon, kan du se Roller i arbeidsområder i Microsoft Fabric.
Administrert identitet: Fabric støtter for øyeblikket ikke kjøring av notatblokker og Spark-jobbdefinisjoner ved hjelp av arbeidsområdeidentiteten eller den administrerte identiteten for Azure KeyVault i notatblokker.
CI/CD: Du kan bruke Fabric API/SDK og utrullingssamlebånd.
Livy API og hvordan du sender inn og administrerer Spark-jobber: Livy API er i veikartet, men ikke eksponert ennå i Fabric. Du må opprette notatblokker og Spark-jobbdefinisjoner med stoffgrensesnittet.
Spark-logger og -måledata: I Azure Synapse kan du avgi Spark-logger og -måledata til din egen lagringsplass, for eksempel Log Analytics, blob og Event Hubs. Du kan også få en liste over Spark-programmer for arbeidsområdet fra API-en. For øyeblikket er begge disse funksjonene ikke tilgjengelige i Fabric.
Andre hensyn:
- JDBC: JDBC-tilkoblingsstøtte er for øyeblikket ikke tilgjengelig i Fabric.
Spark pool-sammenligning
Tabellen nedenfor sammenligner Azure Synapse Spark- og Fabric Spark-bassenger.
Spark-innstilling | Azure Synapse Spark | Fabric Spark |
---|---|---|
Live pool (pre-varme forekomster) | - | Ja, Start-bassenger |
Egendefinert utvalg | Ja | Ja |
Spark-versjoner (kjøretid) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.3, 3.4, 3.5 |
Autoskaler | Ja | Ja |
Dynamisk tildeling av eksekutorer | Ja, opptil 200 | Ja, basert på kapasitet |
Justerbare nodestørrelser | Ja, 3-200 | Ja, 1-basert på kapasitet |
Minimum nodekonfigurasjon | 3 noder | 1 node |
Nodestørrelsesfamilie | Minneoptimalisert, GPU akselerert | Optimalisert minne |
Nodestørrelse | Small-XXXLarge | Small-XXLarge |
Autopause | Ja, kan tilpasses minimum 5 minutter | Ja, ikke-customizable 2 minutter |
Høy samtidighet | Nei | Ja |
V-ordre | Nei | Ja |
Spark autotune | Nei | Ja |
Opprinnelig kjøringsmotor | Nei | Ja |
Samtidighetsgrenser | Fast | Variabel basert på kapasitet |
Flere Spark-bassenger | Ja | Ja (miljøer) |
Intelligent hurtigbuffer | Ja | Ja |
Støtte for API/SDK | Ja | Ja |
Kjøretid: Stoff støtter ikke Spark 2.4-, 3.1- og 3.2-versjoner. Fabric Spark støtter Spark 3.3 med Delta 2.2 i Runtime 1.1, Spark 3.4 med Delta 2.4 i Runtime 1.2 og Spark 3.5 med Delta 3.1 i Runtime 1.3.
Autoskala: I Azure Synapse Spark kan utvalget skalere opptil 200 noder uavhengig av nodestørrelsen. I Fabric utsettes maksimalt antall noder for nodestørrelse og klargjort kapasitet. Se følgende eksempel for F64 SKU.
Spark pool-størrelse Azure Synapse Spark Stoff gnist (egendefinert basseng, SKU F64) Liten Min: 3, Maks: 200 Min: 1, Maks: 32 Middels Min: 3, Maks: 200 Min: 1, Maks: 16 Stor Min: 3, Maks: 200 Min: 1, Maks: 8 X-Large Min: 3, Maks: 200 Min: 1, Maks: 4 XX-Large Min: 3, Maks: 200 Min: 1, Maks: 2 Justerbare nodestørrelser: I Azure Synapse Spark kan du gå opptil 200 noder. I Fabric er antall noder du kan ha i det egendefinerte Spark-bassenget avhengig av nodestørrelsen og stoffkapasiteten. Kapasitet er et mål på hvor mye datakraft du kan bruke i Azure. En måte å tenke på det på er at to Spark vCores (en enhet med datakraft for Spark) er lik én kapasitetsenhet. En SKU F64 for stoffkapasitet har for eksempel 64 kapasitetsenheter, som tilsvarer 128 Spark VCores. Så hvis du velger en liten nodestørrelse, kan du ha opptil 32 noder i bassenget (128/4 = 32). Deretter vil summen av vCores i kapasitet/vCores per nodestørrelse = totalt antall noder som er tilgjengelige. Hvis du vil ha mer informasjon, kan du se Spark-databehandling.
Nodestørrelsesfamilie: Fabric Spark-bassenger støtter bare minneoptimalisert nodestørrelse for øyeblikket. Hvis du bruker et GPU-akselerert SKU Spark-basseng i Azure Synapse, er de ikke tilgjengelige i Fabric.
Nodestørrelse: Den xx-store nodestørrelsen leveres med 432 GB minne i Azure Synapse, mens samme nodestørrelse har 512 GB i Fabric, inkludert 64 vCores. Resten av nodestørrelsene (små til x-store) har samme vCores og minne i både Azure Synapse og Fabric.
Automatisk pause: Hvis du aktiverer den i Azure Synapse Spark, stanses Apache Spark-utvalget automatisk etter en angitt mengde inaktiv tid. Denne innstillingen kan konfigureres i Azure Synapse (minimum 5 minutter), men egendefinerte utvalg har en ikke-tilgjengelig standard autopausevarighet på 2 minutter i Fabric etter at økten utløper. Standard utløp av økt er satt til 20 minutter i Fabric.
Høy samtidighet: Stoff støtter høy samtidighet i notatblokker. Hvis du vil ha mer informasjon, kan du se Modus for høy samtidighet i Fabric Spark.
Samtidighetsgrenser: Når det gjelder samtidighet, har Azure Synapse Spark en grense på 50 samtidige kjørejobber per Spark-basseng og 200 jobber i kø per Spark-basseng. Maksimalt antall aktive jobber er 250 per Spark-utvalg og 1000 per arbeidsområde. I Microsoft Fabric Spark definerer kapasitets-SKU-er samtidighetsgrensene. SKU-er har varierende begrensninger på maksimale samtidige jobber som varierer fra 1 til 512. Fabric Spark har også et dynamisk reservebasert begrensningssystem for å administrere samtidighet og sikre jevn drift selv i perioder med høy trafikk. Hvis du vil ha mer informasjon, kan du se Concurrency-grenser og køer i Microsoft Fabric Spark and Fabric-kapasiteter.
Flere Spark-bassenger: Hvis du vil ha flere Spark-bassenger, kan du bruke Stoffmiljøer til å velge et utvalg etter notatblokk eller Spark-jobbdefinisjon. Hvis du vil ha mer informasjon, kan du se Opprette, konfigurere og bruke et miljø i Microsoft Fabric.
Merk
Lær hvordan du overfører Azure Synapse Spark-bassenger til Fabric.
Spark-konfigurasjonssammenligning
Spark-konfigurasjoner kan brukes på ulike nivåer:
- Miljønivå: Disse konfigurasjonene brukes som standardkonfigurasjon for alle Spark-jobber i miljøet.
- Innebygd nivå: Angi spark-konfigurasjoner innebygd ved hjelp av notatblokker og Spark-jobbdefinisjoner.
Selv om begge alternativene støttes i Azure Synapse Spark og Fabric, er det noen hensyn:
Spark-konfigurasjon | Azure Synapse Spark | Fabric Spark |
---|---|---|
Miljønivå | Ja, bassenger | Ja, miljøer |
Innebygd | Ja | Ja |
Import/eksport | Ja | Ja (.yml fra miljøer) |
Støtte for API/SDK | Ja | Ja |
Miljønivå: I Azure Synapse kan du definere flere Spark-konfigurasjoner og tilordne dem til forskjellige Spark-bassenger. Du kan gjøre dette i Fabric ved hjelp av miljøer.
Innebygd: I Azure Synapse støtter både notatblokker og Spark-jobber å legge til forskjellige Spark-konfigurasjoner. Konfigurasjoner på øktnivå i Fabric tilpasses med
spark.conf.set(<conf_name>, <conf_value>)
innstillingen. For satsvise jobber kan du også bruke konfigurasjoner via SparkConf.Import/eksport: Dette alternativet for Spark-konfigurasjoner er tilgjengelig i stoffmiljøer.
Andre hensyn:
-
Uforanderlige Spark-konfigurasjoner: Noen Spark-konfigurasjoner er uforanderlige. Hvis du får meldingen
AnalysisException: Can't modify the value of a Spark config: <config_name>
, er den aktuelle egenskapen uforanderlig. - FAIR scheduler: FAIR scheduler brukes i høy samtidighetsmodus.
- V-order: V-Order er skrivetidsoptimalisering som brukes på parkettfilene som er aktivert som standard i Fabric Spark-bassenger.
- Optimalisert skriving: Optimalisert skriving er deaktivert som standard i Azure Synapse, men aktivert som standard for Fabric Spark.
-
Uforanderlige Spark-konfigurasjoner: Noen Spark-konfigurasjoner er uforanderlige. Hvis du får meldingen
Merk
Lær hvordan du overfører Spark-konfigurasjoner fra Azure Synapse til Fabric.
Spark-biblioteksammenligning
Du kan bruke Spark-biblioteker på ulike nivåer:
- Arbeidsområdenivå: Du kan ikke laste opp/installere disse bibliotekene i arbeidsområdet og senere tilordne dem til et bestemt Spark-utvalg i Azure Synapse.
- Miljønivå: Du kan laste opp/installere biblioteker til et miljø. Biblioteker på miljønivå er tilgjengelige for alle notatblokker og Spark-jobbdefinisjoner som kjører i miljøet.
- Innebygd: I tillegg til biblioteker på miljønivå kan du også angi innebygde biblioteker. For eksempel i begynnelsen av en notatblokkøkt.
Vurderinger:
Spark-bibliotek | Azure Synapse Spark | Fabric Spark |
---|---|---|
Arbeidsområdenivå | Ja | Nei |
Miljønivå | Ja, bassenger | Ja, miljøer |
Innebygd | Ja | Ja |
Import/eksport | Ja | Ja |
Støtte for API/SDK | Ja | Ja |
-
Andre hensyn:
- Innebygde biblioteker: Fabric og Azure Synapse deler en felles kjerne av Spark, men de kan variere litt i forskjellig støtte fra sine kjøretidsbiblioteker. Vanligvis er bruk av kode kompatibel med noen unntak. I så fall kan det hende at brukerne trenger kompilering, tillegg av egendefinerte biblioteker og justering av syntaks. Se innebygde Fabric Spark runtime-biblioteker her.
Merk
Lær hvordan du overfører Azure Synapse Spark-biblioteker til Fabric.
Notatblokksammenligning
Notatblokker og Spark-jobbdefinisjoner er primære kodeelementer for utvikling av Apache Spark-jobber i Fabric. Det er noen forskjeller mellom Azure Synapse Spark-notatblokker og Fabric Spark-notatblokker:
Notatblokkfunksjonalitet | Azure Synapse Spark | Fabric Spark |
---|---|---|
Import/eksport | Ja | Ja |
Øktkonfigurasjon | Ja, brukergrensesnitt og innebygd | Ja, brukergrensesnitt (miljø) og innebygd |
IntelliSense | Ja | Ja |
mssparkutils | Ja | Ja |
Notatblokkressurser | Nei | Ja |
Samarbeid | Nei | Ja |
Høy samtidighet | Nei | Ja |
.NET for Spark C# | Ja | Nei |
Støtte for datasamlebåndaktivitet | Ja | Ja |
Innebygd støtte for planlagt kjøring | Nei | Ja |
Støtte for API/SDK | Ja | Ja |
mssparkutils: Fordi DMTS-tilkoblinger ikke støttes i Fabric ennå, støttes bare
getToken
forgetSecret
øyeblikket i Fabric formssparkutils.credentials
.Notatblokker-ressurser: Stoffnotatblokker gir et Unix-lignende filsystem som hjelper deg med å administrere mapper og filer. Hvis du vil ha mer informasjon, kan du se Slik bruker du Microsoft Fabric-notatblokker.
Samarbeid: Fabric-notatblokken er et samarbeidselement som støtter flere brukere som redigerer samme notatblokk. Hvis du vil ha mer informasjon, kan du se Slik bruker du Microsoft Fabric-notatblokker.
Høy samtidighet: I Fabric kan du legge ved notatblokker i en økt med høy samtidighet. Dette alternativet er et alternativ for brukere som bruker ThreadPoolExecutor i Azure Synapse. Hvis du vil ha mer informasjon, kan du se Konfigurere modus for høy samtidighet for Fabric-notatblokker.
.NET for Spark C#: Fabric støtter ikke .NET Spark (C#). Vi anbefaler imidlertid at brukere med eksisterende arbeidsbelastninger skrevet i C# eller F# overfører til Python eller Scala.
Innebygd støtte for planlagt kjøring: Stoff støtter planlagte kjøringer for notatblokker.
Andre hensyn:
- Du kan bruke funksjoner i en notatblokk som bare støttes i en bestemt versjon av Spark. Husk at Spark 2.4 og 3.1 ikke støttes i Fabric.
- Hvis notatblokken eller Spark-jobben bruker en koblet tjeneste med ulike datakildetilkoblinger eller monteringspunkter, bør du endre Spark-jobbene til å bruke alternative metoder for å håndtere tilkoblinger til eksterne datakilder og vasker. Bruk Spark-kode til å koble til datakilder ved hjelp av tilgjengelige Spark-biblioteker.
Merk
Lær hvordan du overfører notatblokker fra Azure Synapse til Fabric.
Spark-jobbdefinisjonssammenligning
Viktige vurderinger for Spark-jobbdefinisjon :
Spark-jobbfunksjonalitet | Azure Synapse Spark | Fabric Spark |
---|---|---|
PySpark | Ja | Ja |
Scala | Ja | Ja |
.NET for Spark C# | Ja | Nei |
SparkR | Nei | Ja |
Import/eksport | Ja (brukergrensesnitt) | Nei |
Støtte for datasamlebåndaktivitet | Ja | Ja |
Innebygd støtte for planlagt kjøring | Nei | Ja |
Retningslinjer for å prøve på nytt | Nei | Ja |
Støtte for API/SDK | Ja | Ja |
Spark-jobber: Du kan ta med .py/. R/jar-filer. Stoffet støtter SparkR. En Spark-jobbdefinisjon støtter referansefiler, kommandolinjeargumenter, Spark-konfigurasjoner og lakehouse-referanser.
Import/eksport: I Azure Synapse kan du importere/eksportere jsonbaserte Spark-jobbdefinisjoner fra brukergrensesnittet. Denne funksjonen er ikke tilgjengelig ennå i Fabric.
.NET for Spark C#: Fabric støtter ikke .NET Spark (C#). Anbefalingen er imidlertid at brukere med eksisterende arbeidsbelastninger skrevet i C# eller F# overfører til Python eller Scala.
Innebygd planlagt kjørestøtte: Fabric støtter planlagte kjøringer for en Spark-jobbdefinisjon.
Prøv policyer på nytt: Dette alternativet gjør det mulig for brukere å kjøre Spark-strukturerte strømmingsjobber på ubestemt tid.
Merk
Lær hvordan du overfører Spark-jobbdefinisjoner fra Azure Synapse til Fabric.
Hive Metastore (HMS) sammenligning
Hive MetaStore (HMS) forskjeller og vurderinger:
HMS type | Azure Synapse Spark | Fabric Spark |
---|---|---|
Intern HMS | Ja | Ja (lakehouse) |
Ekstern HMS | Ja | Nei |
- Ekstern HMS: Fabric støtter for øyeblikket ikke en katalog-API og tilgang til en ekstern Hive Metastore (HMS).
Merk
Lær hvordan du overfører Azure Synapse Spark-katalogen HMS metadata til Fabric.
Relatert innhold
- Mer informasjon om overføringsalternativer for Spark-bassenger, konfigurasjoner, biblioteker, notatblokker og Spark-jobbdefinisjoner
- Overføre data og datasamlebånd
- Overføre metadata for Hive-metalager