Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Když se vaše dotazy spustí, Azure Databricks vrací poznatky o výkonu dotazů, které označují příležitosti ke zlepšení výkonu a hlásí již aplikované optimalizace. Každý poznatek obsahuje doporučení, podle kterého můžete jednat, například zhutnit malé soubory, shromáždit statistiky nebo změnit velikost skladu.
Vyhledání přehledů a doporučení pro váš dotaz
Přehledy se zobrazí v historii dotazů a v profilu dotazu. Na panelu podrobností dotazu se zobrazí souhrn přehledů seřazených podle jejich odhadovaného dopadu na celkovou dobu trvání úkolu. Karta Přehledy výkonu v profilu dotazu zobrazuje úplné podrobnosti pro jednotlivé přehledy.
Optimalizace s využitím Genie Code
Pokud dotaz obsahuje užitečné přehledy, vyberte Optimalizovat a otevřete Genie Code. V případě přehledů, které vyžadují změnu dotazu, genie Code dotaz přepíše a zobrazí změny pro vaše schválení. V případě přehledů, které zahrnují změny tabulek nebo výpočtů, genie Code shrnuje doporučené akce jako text ve formátu prostého jazyka.
Další informace o práci s Genie Code najdete v tématu Genie Code.
Přehledy optimalizace dotazů
COVERAGE_FILTER_KEYS_CLUSTERING
Tabulka je v clusteru jedním nebo více klíči, které se během prohledávání tabulky nepoužívají ve filtrech.
Doporučení: Přidejte filtry na klíče clusteringu, abyste snížili počet přečtených bajtů.
COVERAGE_FILTER_KEYS_PARTITIONING
Tabulka je rozdělená podle jednoho nebo více klíčů, které se během prohledávání tabulky nepoužívají ve filtrech.
Doporučení: Přidejte filtry na klíče dělení, abyste snížili počet přečtených bajtů.
COVERAGE_PHOTON
Photon nemůže tuto operaci urychlit, takže dotaz používá modul runtime standardu.
Doporučení: Zkontrolujte omezení Photonu a upravte dotaz tak, aby používal podporovanou cestu spuštění.
EXPLODING_JOIN
Spojení vytváří výrazně více řádků, než čte.
Doporučení: Určete požadovanou podmnožinu výsledků a pak aktualizujte podmínku spojení nebo snižte počet vstupních řádků z obou relací.
FLOW_FULL_RECOMPUTE
Tok se spustí jako úplné překomputování.
Doporučení: Přepište dotaz pro přírůstkovou podporu , aby se snížil počet přečtených bajtů.
REDUNDANT_AGGREGATION
Agregační operace nezměnila výsledek dotazu.
Doporučení: Odeberte agregaci nebo použijte omezení primárního a cizího klíče.
REDUNDANT_JOIN
Vnější spojení nezměnilo počet řádků na vnější straně a nebyly použity žádné sloupce ze spojené tabulky.
Doporučení: Odstraňte join nebo aplikujte primární klíč či unikátní omezení.
SELECTIVE_JOIN
Spojení vytváří výrazně méně řádků, než čte.
Doporučení: Určete, kterou podmnožinu výsledků potřebujete, a pak před spojením přidejte filtry, abyste snížili vstupní řádky.
WIDE_PROJECTION
Dotazuje všechny sloupce z tabulky.
Doporučení: Project pouze sloupce, které potřebujete omezit na čtení bajtů.
Přehledy rozložení dat
SOUBĚŽNÝ_ZÁPIS
Souběžné zápisy do tabulky způsobují konflikty , které se automaticky vyřeší nebo selžou.
Doporučení: Zkontrolujte historii delta a identifikujte souběžné zápisy a upravte plánování, abyste se vyhnuli konfliktům.
COVERAGE_STATS_DELTA
Statistiky Delta přeskakování dat pro filtrování souborů ve skenech tabulky chybí nebo nejsou úplné, takže dotaz používá filtrování uvnitř souborů.
Stav statistiky pro každý filtr může být jeden z následujících:
- Plné: Statistiky jsou k dispozici pro všechny filtry.
- Částečné: Statistiky jsou k dispozici pro podmnožinu filtrů.
- Nedostupné: Statistiky nejsou k dispozici pro žádný filtr.
- Nepoužité: Statistiky nelze použít, protože filtr převádí datový typ.
Doporučení:Shromážděte statistiky Delta, abyste snížili čtení bajtů.
COVERAGE_STATS_OPTIMIZER
Statistiky optimalizátoru založené na nákladech chybí nebo nejsou neúplné, takže plán dotazů používá standardní heuristiku.
Doporučení:Shromážděte statistiky, abyste optimalizátoru umožnili vytvořit lepší plán.
DATA_FILE_SIZE
Tabulka skenování čte mnoho malých souborů, což prodlužuje dobu skenování.
Recommendations:
- Povolte prediktivní optimalizaci tabulky pro automatickou optimalizaci velikosti souborů.
- Spouštějte OPTIMIZE kompaktní malé soubory.
- Přejděte na tekuté shlukování pro rozdělené tabulky , protože prediktivní optimalizace nedokáže kompaktovat malé soubory napříč oddíly.
DATA_SKEW
Data se distribuují nerovnoměrně napříč výpočetními prostředky.
Doporučení: Zkontrolujte distribuci dat a pak použijte k vyrovnávání zatížení klíčové solení nebo před agregaci.
MANUAL_DATA_LAYOUT
Stůl je ručně optimalizován a může těžit z automatického shlukování kapalin.
Recommendations:
- Převeďte tabulku z externího na spravovanou , aby se zlepšil výkon a automatická údržba.
- Povolení prediktivní optimalizace v tabulce pro automatické operace údržby
- Povolte automatické clusteringy v tabulce, abyste snížili počet čtení bajtů.
Přehledy výpočetních prostředků a prostředků
DATA_SPILL
Data přetékaná na disk během provádění dotazu, protože data se nevejdou do paměti.
Doporučení: Zvětšete velikost skladu a přidejte paměť. Snižte počet řádků, sloupců nebo velikosti velkých sloupců (řetězců, polí, map, struktur), abyste snížili využití paměti.
EXCESSIVE_QUEUE_TIME
Dotaz čekal ve frontě skladu .
Doporučení: Zvyšte maximální počet clusterů ve skladu, abyste zkrátili dobu fronty.
IO_THROTTLING
Poskytovatel cloudu omezil požadavek na cloudové úložiště .
Doporučení: Obraťte se na správce a požádejte o zvýšení limitů požadavků na úložiště od poskytovatele cloudu.
Aplikované zrychlení
Tyto poznatky popisují optimalizace, které Azure Databricks již aplikoval během provádění dotazů. Objevují se v záložce Performance insights s označením Accelerated a nevyžadují akci.
AUTO_LIQUID_CLUSTERING
Tento dotaz přečetl méně dat, protože jeho tabulky používají automatické shlukování kapalin. Azure Databricks neustále shlukuje každou tabulku podle klíčů, které se učí z vašeho workloadu, takže skenuje soubory, které neodpovídají vašim filtrům. Není potřeba ladit ani dělit ruční dělení.
HISTORY_BASED_JOIN_STRATEGY
Azure Databricks optimalizoval join tohoto dotazu pomocí měření z předchozích běhů podobných dotazů. Zvolil broadcast join místo přesouvání dat napříč clusterem na základě vaší historie pracovních zátěží. Není potřeba žádná změna dotazu.
SHORT_QUERY_PRIORITIZATION
I když byl cluster na plné kapacitě, Azure Databricks předpověděl, že tento dotaz bude krátkodobý, a okamžitě ho provedl rychlou cestou místo toho, aby ho drželi ve frontě za náročnějšími dotazy. To udržuje interaktivní pracovní zátěže citlivé i při zátěži.
Další prostředky
Širší přehled osvědčených postupů pro výkon najdete v komplexní příručce pro optimalizaci úloh Databricks, Spark a Delta Lake.