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
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:
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.