Sdílet prostřednictvím


Omezení souběžnosti a zařazení do fronty v Apache Sparku pro Microsoft Fabric

Platí pro: Datoví technici ing a Datová Věda v Microsoft Fabric

Microsoft Fabric umožňuje přidělení výpočetních jednotek prostřednictvím kapacity, což je vyhrazená sada prostředků, které jsou k dispozici v daném okamžiku k použití. Kapacita definuje schopnost prostředku provádět aktivitu nebo vytvářet výstup. Různé položky spotřebovávají v určitém okamžiku jinou kapacitu. Microsoft Fabric nabízí kapacitu prostřednictvím skladových položek a zkušebních verzí Fabric. Další informace najdete v tématu Co je kapacita?.

Když uživatelé v Azure vytvoří kapacitu Microsoft Fabric, vyberou si velikost kapacity na základě velikosti analytické úlohy. V Apache Sparku uživatelé získají dvě virtuální jádra Apache Sparku pro každou jednotku kapacity, kterou si rezervují jako součást své skladové položky.

Jedna jednotka kapacity = dvě virtuální jádra Sparku

Po zakoupení kapacity můžou správci vytvářet pracovní prostory v rámci kapacity v Microsoft Fabric. Virtuální jádra Sparku přidružená k této kapacitě se sdílejí mezi všemi položkami založenými na Apache Sparku, jako jsou poznámkové bloky, definice úloh Apache Spark a lakehouse vytvořené v těchto pracovních prostorech.

Omezování souběžnosti a zařazení do fronty

Spark for Fabric vynucuje mechanismus omezování na základě jader a zařadí do fronty, kde uživatelé můžou odesílat úlohy na základě zakoupených skladových položek kapacity Fabric. Mechanismus zařazování do fronty je jednoduchá fronta založená na FIFO, která kontroluje dostupné sloty úloh a automaticky opakuje úlohy, jakmile bude kapacita dostupná. Když uživatelé odesílají poznámkové bloky nebo úlohy lakehouse, jako je Načtení do tabulky, když jejich kapacita dosáhne maximálního využití kvůli souběžným spuštěným úlohám pomocí všech virtuálních jader Sparku dostupných pro zakoupenou skladovou položku kapacity Fabric, omezí se zpráva.

Kód odpovědi HTTP 430: Tuto úlohu Sparku nejde spustit, protože jste dosáhli limitu rychlosti výpočetních prostředků sparku nebo rozhraní API. Pokud chcete tuto úlohu Spark spustit, zrušte aktivní úlohu Sparku prostřednictvím centra monitorování nebo zvolte skladovou položku větší kapacity nebo akci opakujte později.

Při povoleném zařaování do fronty se úlohy poznámkového bloku aktivované z kanálů a plánovače úloh a definic úloh Sparku přidají do fronty a automaticky se budou opakovat při uvolnění kapacity. Vypršení platnosti fronty je nastaveno na 24 hodin od času odeslání úlohy. Po uplynutí této doby bude potřeba úlohy znovu odeslat.

Kapacity prostředků infrastruktury jsou povolené s nárůstem kapacity, což umožňuje využívat další výpočetní jádra nad rámec zakoupených k urychlení provádění úlohy. U rozšíření úloh Apache Sparku umožňují uživatelům odesílat úlohy s celkovým počtem 3X zakoupených virtuálních jader Sparku.

Poznámka:

Faktor nárazového nárůstu zvyšuje celkový počet virtuálních jader Sparku, aby pomohl s souběžností, ale nezvyšuje maximální počet jader na úlohu. Uživatelé nemůžou odeslat úlohu, která vyžaduje více jader než to, co jejich kapacita Fabric nabízí.

Následující část uvádí různé limity založené na jádrech úloh Sparku na základě skladových položek kapacity Microsoft Fabric:

Skladová položka kapacity infrastruktury Ekvivalentní skladová položka Power BI Virtuální jádra Sparku Max Spark VCores with Burst Factor Omezení fronty
F2 - 4 20 4
F4 - 8 24 4
F8 - 16 48 8
F16 - 32 96 16
F32 - 64 192 32
F64 O1 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
Zkušební kapacita O1 128 128 NA

Příklad výpočtu: Skladová položka F64 nabízí 128 virtuálních jader Sparku. Faktor nárazového nárůstu použitého pro skladovou položku F64 je 3, což poskytuje celkem 384 virtuálních jader Sparku. Faktor nárazu se použije pouze pro pomoc s souběžností a nezvyšuje maximální počet jader dostupných pro jednu úlohu Sparku. To znamená, že jedna definice úlohy Poznámkového bloku nebo Sparku nebo úloha lakehouse může používat konfiguraci fondu s maximálním 128 virtuálními jádry a 3 úlohami se stejnou konfigurací, která se dá spustit současně. Pokud poznámkové bloky používají menší výpočetní konfiguraci, je možné je spustit souběžně, dokud maximální využití nedosáhne limitu 384 SparkVcore.

Poznámka:

Úlohy mají dobu vypršení platnosti fronty 24 hodin, po které jsou zrušené, a uživatelé je musí znovu odeslat k provedení úlohy.

Omezení Sparku pro Prostředky infrastruktury nevynucuje limity na základě libovolných úloh a omezování vychází jenom z počtu jader povolených pro zakoupenou skladovou položku kapacity Fabric. Ve výchozím nastavení bude přístup úlohy optimistickou kontrolou přístupu, kde jsou úlohy přijaty na základě minimálního požadavku na jádra. Přečtěte si další informace o přístupu a správě úloh optimistických úloh, pokud je pro pracovní prostor vybraná výchozí možnost fondu (počáteční fond), uvádí následující tabulka omezení maximální souběžnosti.

Přečtěte si další informace o výchozích konfiguracích počátečního fondu na základě skladové položky kapacity infrastruktury, která konfiguruje počáteční fondy.

Shlukování na úrovni úlohy

Správci můžou své fondy Apache Sparku nakonfigurovat tak, aby využívaly maximální počet jader Sparku s faktorem nárazu dostupným pro celou kapacitu. Správce pracovního prostoru, který má připojený ke kapacitě prostředků infrastruktury F64, teď může nakonfigurovat fond Sparku (počáteční fond nebo vlastní fond) na 384 virtuálních jader Sparku, kde maximální počet uzlů počátečních fondů je možné nastavit na 48 nebo správci můžou nastavit fond velikosti velkého uzlu XX s 6 maximálními uzly.