Sdílet prostřednictvím


Nerovnováha a rozlití

Rozlít

První věc, kterou je potřeba hledat v dlouhotrvající fázi, je, zda je zde přetížení.

V horní části stránky fáze uvidíte podrobnosti, které můžou zahrnovat statistiky o rozlití:

statistiky přelití

Přetečení je to, co se stane, když má Spark nedostatek paměti. Začne přesouvat data z paměti na disk a to může být poměrně nákladné. Nejčastěji se používá při náhodném prohazování dat.

Pokud nevidíte žádné statistiky pro prolití, znamená to, že fáze neobsahuje žádné prolití. Pokud fáze obsahuje nějaké přelití, přečtěte si této příručce o tom, jak řešit přelití způsobené náhodnému prohazováním.

Šikmo natočit

Další věc, kterou chceme prozkoumat, je, zda nedochází k zkreslení. Odchylka nastává, když jeden nebo jen několik úkolů trvá mnohem déle než ostatní úkoly. Výsledkem je špatné využití clusteru a delší úlohy.

Posuňte se dolů na souhrnné metriky. Hlavní věcí, kterou hledáme, je, že Max doba trvání je mnohem vyšší než doba trvání na 75. percentilu. Následující snímek obrazovky ukazuje zdravou fázi, where 75. percentil a Max jsou stejné:

statistik nerovnoměrné distribuce

Pokud je maximální doba trvání 50% více než 75. percentil, může dojít k nerovnoměrné distribuci.

Pokud se zobrazí nerovnoměrná distribuce, přečtěte si informace o postupu nápravy nerovnoměrné distribuce zde.

Bez vychýlení nebo rozlití

Pokud nevidíte nerovnoměrnou distribuci nebo přelití, vraťte se na stránku úlohy a get přehled toho, co se děje. Posuňte se nahoru na začátek stránky a klikněte na Přidružená ID úloh:

fáze úlohy

Pokud fáze nemá problém s únikem nebo nevyváženým rozložením, podívej se na fázi Spark s vysokým I/O pro další kroky.