Řešení potíží se selháním úloh a jejich oprava
Předpokládejme, že jste byli upozorněni (například prostřednictvím e-mailového oznámení, řešení monitorování nebo v uživatelském rozhraní úloh Azure Databricks), že úloha selhala při spuštění úlohy Azure Databricks. Kroky v tomto článku obsahují pokyny, které vám pomůžou identifikovat příčinu selhání, návrhy k opravě nalezených problémů a postup opravy neúspěšných spuštění úloh.
Identifikace příčiny selhání
Zjištění neúspěšné úlohy v uživatelském rozhraní úloh Azure Databricks:
Na bočním panelu klikněte na Spuštění úlohy.
Ve sloupci Název klikněte na název úlohy. Na kartě Spuštění se zobrazují aktivní a dokončená spuštění, včetně všech neúspěšných spuštění. Zobrazení matice na kartě Spuštění zobrazuje historii spuštění pro úlohu, včetně úspěšných a neúspěšných spuštění pro každou úlohu úlohy. Spuštění úlohy může být neúspěšné, protože selhalo nebo bylo vynecháno v důsledku selhání závislé úlohy. Pomocí maticového zobrazení můžete rychle identifikovat selhání úloh pro spuštění úkolu.
Najeďte myší na neúspěšnou úlohu, čímž zobrazíte přidružená metadata. Tato metadata zahrnují počáteční a koncové datum, stav, podrobnosti o clusteru doby trvání a v některých případech chybovou zprávu.
Pokud chcete pomoct identifikovat příčinu selhání, klikněte na neúspěšnou úlohu. Zobrazí se stránka s Podrobnostmi o spuštění úlohy, která zobrazuje výstup úlohy, chybovou zprávu a přidružená metadata.
Oprava příčiny selhání
Je možné, že úloha selhala z několika důvodů, například kvůli problému s kvalitou dat, chybné konfiguraci nebo nedostatečným výpočetním prostředkům. Tady jsou doporučené kroky, které opraví některé běžné příčiny selhání úloh:
- Pokud selhání souvisí s konfigurací úlohy, klikněte na upravit úlohu. Konfigurace úlohy se otevře na nové kartě. Podle potřeby aktualizujte konfiguraci úlohy a klikněte na Uložit úlohu.
- Pokud problém souvisí s prostředky clusteru, například nedostatečnými instancemi, existuje několik možností:
- Pokud je vaše úloha nakonfigurovaná tak, aby používala cluster úloh, zvažte použití sdíleného clusteru pro všechny účely.
- Změňte konfiguraci clusteru. Klikněte na Upravit úkol. Na panelu Podrobnosti úlohy v části Výpočty klikněte na Konfigurovat a nakonfigurujte cluster. Můžete změnit počet pracovních procesů, typy instancí nebo jiné možnosti konfigurace clusteru. Můžete také kliknout na Přepnout a přepnout do jiného dostupného clusteru. Pokud chcete zajistit optimální využití dostupných prostředků, projděte si osvědčené postupy konfigurace clusteru.
- V případě potřeby požádejte správce, aby zvýšil kvóty prostředků v cloudovém účtu a oblasti, ve které je váš pracovní prostor nasazený.
- Pokud příčinou selhání je překročení maximálního počtu souběžných spuštění, proveďte následující:
- Počkejte na dokončení dalších spuštění.
- Klikněte na Upravit úkol. Na panelu Podrobnosti úlohy klikněte na Upravit souběžná spuštění, zadejte novou hodnotu maximálního počtu souběžných spuštění a klikněte na Potvrdit.
V některých případech může být příčina selhání nadřazená z vaší úlohy; Externí zdroj dat například není k dispozici. Po vyřešení externího problému stále můžete využít funkci opravy, která je popsána v další části.
Opětovné spuštění selhalo a přeskočeno úlohy
Po identifikaci příčiny selhání můžete opravit neúspěšné nebo zrušené úlohy s více úlohami spuštěním pouze podmnožinu neúspěšných úkolů a všech závislých úkolů. Vzhledem k tomu, že úspěšné úkoly a všechny úkoly, které na nich závisejí, se znovu nespustí, tato funkce zkracuje čas a prostředky potřebné k obnovení z neúspěšných spuštění úloh.
Před opravou spuštění úlohy můžete změnit nastavení úlohy nebo úkolu. Neúspěšné úkoly se znovu spustí s aktuálním nastavením úlohy a úkolu. Pokud například změníte cestu k poznámkovému bloku nebo nastavení clusteru, úloha se znovu spustí s aktualizovaným nastavením poznámkového bloku nebo clusteru.
Zobrazte historii všech spuštění úloh na stránce podrobností o spuštění úlohy.
Poznámka:
- Pokud jeden nebo více úloh sdílí cluster úloh, spuštění opravy vytvoří nový cluster úloh. Pokud například původní spuštění používalo cluster
my_job_cluster
úloh, první spuštění opravy používá nový clustermy_job_cluster_v1
úloh, který umožňuje snadno zobrazit nastavení clusteru a clusteru používaného při počátečním spuštění a všech spuštěních oprav. Nastavenímy_job_cluster_v1
jsou stejná jako aktuální nastavení promy_job_cluster
. - Oprava se podporuje jenom u úloh, které orchestrují dva nebo více úloh.
- Hodnota Doba trvání zobrazená na kartě Spuštění zahrnuje čas, kdy se první spuštění spustilo, dokud se nedokončí poslední spuštění opravy. Pokud se například spuštění nezdařilo dvakrát a bylo úspěšné při třetím spuštění, doba trvání zahrnuje čas pro všechna tři spuštění.
Oprava neúspěšné úlohy:
- Klikněte na odkaz pro neúspěšné spuštění ve sloupci Čas zahájení tabulky spuštění úlohy nebo klikněte na neúspěšné spuštění v maticovém zobrazení. Zobrazí se stránka s podrobnostmi o spuštění úlohy.
- Klikněte na tlačítko Opravit. Zobrazí se dialogové okno Pro spuštění úlohy opravy se seznamem všech neúspěšných úkolů a všech závislých úkolů, které budou znovu spuštěny.
- Chcete-li přidat nebo upravit parametry pro úlohy, které chcete opravit, zadejte parametry v dialogovém okně Spustit úlohu opravy. Parametry, které zadáte v dialogovém okně Spustit úlohu opravy, přepíší existující hodnoty. Při následných spuštěních oprav můžete vrátit parametr do původní hodnoty zrušením klíče a hodnoty v dialogovém okně Spustit úlohu opravy.
- Klepněte na tlačítko Opravit spustit v dialogovém okně Spustit úlohu opravy.
- Po dokončení opravy se zobrazení matice aktualizuje o nový sloupec pro opravené spuštění. Všechny neúspěšné úkoly, které byly červené, by teď měly být zelené, což značí úspěšné spuštění celé úlohy.
Zobrazení a správa průběžných selhání úloh
Pokud po sobě jdoucí selhání průběžné úlohy překročí prahovou hodnotu, azure Databricks Jobs k opakování úlohy použije exponenciální zpochybnění . Když je úloha ve stavu exponenciálního zpoždnění, zobrazí se na panelu podrobností o úloze informace, mezi které patří:
- Počet po sobě jdoucích selhání.
- Období, po které se úloha spustí bez chyby, se považuje za úspěšnou.
- Čas před dalším opakováním, pokud není aktuálně aktivní žádné spuštění.
Chcete-li zrušit aktivní spuštění, obnovte období opakování a spusťte nové spuštění úlohy, klepněte na tlačítko Restartovat spuštění.