Gelijktijdigheidslimieten en wachtrijen in Apache Spark voor Microsoft Fabric
Van toepassing op:✅ Data-engineer ing en Datawetenschap in Microsoft Fabric
Met Microsoft Fabric kunnen rekeneenheden worden toegewezen via capaciteit. Dit is een toegewezen set resources die op een bepaald moment beschikbaar zijn om te worden gebruikt. Capaciteit definieert de mogelijkheid van een resource om een activiteit uit te voeren of uitvoer te produceren. Verschillende items verbruiken op een bepaald moment verschillende capaciteit. Microsoft Fabric biedt capaciteit via de Fabric-SKU's en proefversies. Zie Wat is capaciteit? voor meer informatie.
Wanneer gebruikers een Microsoft Fabric-capaciteit in Azure maken, kiezen ze een capaciteitsgrootte op basis van de grootte van hun analyseworkload. In Apache Spark krijgen gebruikers twee Apache Spark VCores voor elke capaciteitseenheid die ze reserveren als onderdeel van hun SKU.
Eén capaciteitseenheid = twee Spark-VCores
Zodra ze de capaciteit hebben aangeschaft, kunnen beheerders werkruimten maken binnen de capaciteit in Microsoft Fabric. De Spark-VCores die aan de capaciteit zijn gekoppeld, worden gedeeld tussen alle op Apache Spark gebaseerde items, zoals notebooks, Apache Spark-taakdefinities en lakehouses die in deze werkruimten zijn gemaakt.
Gelijktijdigheidsbeperking en wachtrijen
Spark for Fabric dwingt een beperkings- en wachtrijmechanisme op basis van kernen af, waar gebruikers taken kunnen verzenden op basis van de aangeschafte Fabric-capaciteitS-SKU's. Het wachtrijmechanisme is een eenvoudige FIFO-wachtrij, die controleert op beschikbare taaksites en de taken automatisch opnieuw probeert zodra de capaciteit beschikbaar is. Wanneer gebruikers notebook- of lakehouse-taken zoals Laden naar tabel verzenden wanneer hun capaciteit het maximale gebruik heeft als gevolg van gelijktijdige actieve taken met behulp van alle Spark-Vcores die beschikbaar zijn voor hun aangeschafte Fabric-capaciteits-SKU, worden ze beperkt met het bericht
HTTP-antwoordcode 430: deze Spark-taak kan niet worden uitgevoerd omdat u een Spark-reken- of API-frequentielimiet hebt bereikt. Als u deze Spark-taak wilt uitvoeren, annuleert u een actieve Spark-taak via de bewakingshub of kiest u een SKU met een grotere capaciteit of probeert u het later opnieuw.
Wanneer wachtrijen zijn ingeschakeld, worden notebooktaken die worden geactiveerd vanuit pijplijnen en taakplanners en Spark-taakdefinities toegevoegd aan de wachtrij en worden ze automatisch opnieuw geprobeerd wanneer de capaciteit wordt vrijgemaakt. De verlooptijd van de wachtrij is ingesteld op 24 uur vanaf de inzendingstijd van de taak. Na deze periode moeten de taken opnieuw worden ingediend.
Infrastructuurcapaciteiten zijn ingeschakeld met bursting, waardoor u extra rekenkernen kunt gebruiken buiten wat is aangeschaft om de uitvoering van een workload te versnellen. Voor bursting van Apache Spark-workloads kunnen gebruikers taken verzenden met in totaal 3X de Spark-VCores die zijn gekocht.
Notitie
De bursting-factor verhoogt alleen het totale aantal Spark VCores om te helpen bij gelijktijdigheid, maar verhoogt niet de maximale kernen per taak. Gebruikers kunnen geen taak indienen waarvoor meer kernen nodig zijn dan wat hun Fabric-capaciteit biedt.
In de volgende sectie vindt u verschillende limieten op basis van kernen voor Spark-workloads op basis van Microsoft Fabric-capaciteitS-SKU's:
Infrastructuurcapaciteits-SKU | Equivalente Power BI-SKU | Spark-VCores | Maximum aantal Spark-VCores met Burst Factor | Wachtrijlimiet |
---|---|---|---|---|
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 |
Evaluatiecapaciteit | P1 | 128 | 128 | N.v.t. |
Voorbeeldberekening: F64 SKU biedt 128 Spark-VCores. De burst-factor die wordt toegepast voor een F64-SKU is 3, wat in totaal 384 Spark-Vcores geeft. De burst-factor wordt alleen toegepast om te helpen bij gelijktijdigheid en verhoogt niet de maximale kernen die beschikbaar zijn voor één Spark-taak. Dat betekent dat één Notebook- of Spark-taakdefinitie of Lakehouse-taak een poolconfiguratie kan gebruiken van maximaal 128 vCores en drie taken met dezelfde configuratie gelijktijdig kunnen worden uitgevoerd. Als notebooks een kleinere rekenconfiguratie gebruiken, kunnen ze gelijktijdig worden uitgevoerd totdat het maximale gebruik de limiet van 384 SparkVcore bereikt.
Notitie
De taken hebben een verloopperiode van 24 uur in de wachtrij, waarna ze worden geannuleerd en gebruikers moeten ze opnieuw indienen voor taakuitvoering.
Spark for Fabric-beperking heeft geen willekeurige limieten op basis van taken afgedwongen en de beperking is alleen gebaseerd op het aantal kernen dat is toegestaan voor de aangeschafte Fabric-capaciteits-SKU. De toelating van taken is standaard een optimistisch toegangsbeheer, waarbij de taken worden toegelaten op basis van hun minimale kernvereiste. Meer informatie over de optimistische taaktoegangstaak en -beheer als de standaardgroep (Starterspool) is geselecteerd voor de werkruimte, worden in de volgende tabel de maximale gelijktijdigheidstaaklimieten vermeld.
Meer informatie over de standaardconfiguraties voor starterspools op basis van de infrastructuurcapaciteits-SKU Voor het configureren van starterspools.
Bursting op taakniveau
Beheerders kunnen hun Apache Spark-pools configureren om gebruik te maken van de maximale Spark-kernen met burst-factor die beschikbaar is voor de volledige capaciteit. Een werkruimtebeheerder die zijn werkruimte heeft gekoppeld aan een F64 Fabric-capaciteit, kan nu de Spark-pool (starterspool of aangepaste pool) configureren op 384 Spark-VCores, waarbij het maximum aantal knooppunten van Starter-pools kan worden ingesteld op 48 of beheerders kunnen een POOL met een grootte van xx grote knooppunten met maximaal 6 knooppunten instellen.
Gerelateerde inhoud
- Aan de slag met beheerinstellingen voor Apache Spark-werkruimten in Microsoft Fabric.
- Meer informatie over de Apache Spark-berekening voor fabric-ervaringen voor data engineering en data science.