Samtidighedsgrænser og kø i Apache Spark til Microsoft Fabric
Gælder for:✅ Dataudvikler ing og datavidenskab i Microsoft Fabric
Microsoft Fabric tillader tildeling af beregningsenheder via kapacitet, som er et dedikeret sæt ressourcer, der er tilgængelige på et givet tidspunkt, og som skal bruges. Kapacitet definerer en ressources mulighed for at udføre en aktivitet eller producere output. Forskellige elementer bruger forskellig kapacitet på et bestemt tidspunkt. Microsoft Fabric tilbyder kapacitet via Fabric SKU'er og prøveversioner. Du kan få flere oplysninger under Hvad er kapacitet?.
Når brugerne opretter en Microsoft Fabric-kapacitet på Azure, vælger de en kapacitetsstørrelse baseret på deres størrelse af analysearbejdsbelastninger. I Apache Spark får brugerne to Apache Spark VCores for hver kapacitetsenhed, de reserverer som en del af deres SKU.
En kapacitetsenhed = to Spark VCores
Når de har købt kapaciteten, kan administratorer oprette arbejdsområder i kapaciteten i Microsoft Fabric. De Spark VCores, der er knyttet til kapaciteten, deles mellem alle Apache Spark-baserede elementer, f.eks. notesbøger, Apache Spark-jobdefinitioner og lakehouses, der er oprettet i disse arbejdsområder.
Samtidighedsbegrænsning og -kø
Spark for Fabric gennemtvinger en kernebaseret begrænsnings- og kømekanisme, hvor brugerne kan indsende job baseret på de købte Sku'er for Fabric-kapacitet. Kømekanismen er en simpel FIFO-baseret kø, der søger efter tilgængelige jobpladser og automatisk prøver jobbene igen, når kapaciteten er blevet tilgængelig. Når brugerne indsender job i notesbøger eller lakehouses, f.eks. Indlæs til tabel, når deres kapacitet har nået den maksimale udnyttelse på grund af samtidige kørende job ved hjælp af alle de Spark Vcores, der er tilgængelige for deres købte SKU for Fabric-kapacitet, begrænses de med meddelelsen
HTTP-svarkode 430: Dette Spark-job kan ikke køres, fordi du har nået grænsen for Spark-beregnings- eller API-hastighed. Hvis du vil køre dette Spark-job, skal du annullere et aktivt Spark-job via overvågningshubben eller vælge en SKU med større kapacitet eller prøve igen senere.
Når køen er aktiveret, føjes notesbogjob, der udløses fra pipelines og jobstyrings- og Spark-jobdefinitioner, til køen og forsøges automatisk igen, når kapaciteten frigøres. Køudløb er indstillet til 24 timer fra indsendelsestiden for jobbet. Efter denne periode skal jobbene sendes igen.
Fabric-kapaciteter er aktiveret med sprængning, hvilket giver dig mulighed for at forbruge ekstra beregningskerner ud over det, der er købt for at fremskynde udførelsen af en arbejdsbelastning. I forbindelse med sprængning af Apache Spark-arbejdsbelastninger kan brugerne indsende job med i alt 3X, som Spark VCores har købt.
Bemærk
Sprængningsfaktoren øger kun det samlede antal Spark VCores for at hjælpe med samtidigheden, men øger ikke de maksimale kerner pr. job. Brugerne kan ikke indsende et job, der kræver flere kerner, end deres Fabric-kapacitet tilbyder.
I følgende afsnit vises forskellige kernebaserede grænser for Spark-arbejdsbelastninger, der er baseret på Microsoft Fabric-kapacitets-SKU'er:
Sku'en for stofkapacitet | Tilsvarende Power BI-SKU | Spark VCores | Max Spark VCores med Burst Factor | Køgrænse |
---|---|---|---|---|
F2 | - | 4 | 20 | 4 |
F4 | - | 8 | 24 | 4 |
F8 | - | 16 | 48 | 8 |
F16 | - | 32 | 96 | 16 |
F32 | - | 64 | 192 | 32 |
F64 | P1 | 128 | 384 | 64 |
F128 | P2 | 256 | 768 | 128 |
F256 | P3 | 512 | 1536 | 256 |
F512 | P4 | 1024 | 3072 | 512 |
F1024 | - | 2048 | 6144 | 1024 |
F2048 | - | 4096 | 12288 | 2048 |
Prøveversionskapacitet | P1 | 128 | 128 | I/T |
Eksempelberegning: F64 SKU tilbyder 128 Spark VCores. Den burstfaktor, der anvendes for en F64 SKU, er 3, hvilket giver i alt 384 Spark Vcores. Burst-faktoren anvendes kun for at hjælpe med samtidighed og øger ikke de maksimale kerner, der er tilgængelige for et enkelt Spark-job. Det betyder, at en enkelt definition af en notesbog eller et Spark-job eller et lakehouse-job kan bruge en puljekonfiguration på maks. 128 vCores, og at 3 job med den samme konfiguration kan køres samtidigt. Hvis notesbøger bruger en mindre beregningskonfiguration, kan de køres samtidigt, indtil den maksimale udnyttelse når grænsen på 384 SparkVcore.
Bemærk
Jobbene har en udløbsperiode for køen på 24 timer, hvorefter de annulleres, og brugerne skal sende dem til udførelse af job igen.
Spark for Fabric-begrænsning har ikke gennemtvunget vilkårlige jobbaserede grænser, og begrænsningen er kun baseret på det antal kerner, der er tilladt for den købte Sku for Fabric-kapacitet. Den jobindlæggelse som standard vil være en optimistisk optagelseskontrol, hvor job er optaget på baggrund af deres minimum kerner krav. Få mere at vide om den optimistiske jobindtagelse Jobindtagelse og administration Hvis standardgruppen (Startpulje) er valgt for arbejdsområdet, vises de maksimale grænser for samtidighedsjob i følgende tabel.
Få mere at vide om standardkonfigurationerne for startpuljen baseret på Fabric Capacity SKU Configuring Starter Pools.
Sprængning af jobniveau
Administratorer kan konfigurere deres Apache Spark-puljer for at udnytte de maksimale Spark-kerner med burstfaktor tilgængelig for hele kapaciteten. En arbejdsområdeadministrator, der f.eks. har deres arbejdsområde knyttet til en F64 Fabric-kapacitet, kan nu konfigurere deres Spark-pulje (starterpulje eller brugerdefineret pulje) til 384 Spark VCores, hvor de maksimale noder i Starter-puljer kan indstilles til 48, eller administratorer kan konfigurere en XX Stor nodestørrelsespulje med 6 maks. noder.
Relateret indhold
- Kom i gang med administrationsindstillinger for Apache Spark-arbejdsområder i Microsoft Fabric.
- Få mere at vide om Apache Spark-beregning til Fabric-datakonstruktion og datavidenskabsoplevelser.