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.
Tento článek představuje obecnou sémantiku agregace a popisuje rozdíly mezi výsledky vypočítaným pomocí dávkových dotazů, materializovaných zobrazení a streamování.
Agregace služby Batch
Dávková agregace je výchozí chování pozorované při spuštění ad hoc dotazu v SQL nebo zpracování dat pomocí datových rámců Apache Spark.
Agregační dotaz napsaný v tabulce nebo zdroji dat vypočítá agregační statistiku pro všechny záznamy ve zdroji dat. Azure Databricks využívá optimalizace a metadata, kdykoli je to možné k optimalizaci těchto dotazů, a dokáže vypočítat mnoho agregací efektivně pro velké datové sady.
Latence agregace dávky a náklady na výpočetní prostředky se můžou zvýšit při nárůstu velikosti dat a předem vypočítané často odkazované agregované hodnoty můžou uživatelům ušetřit značnou dobu a peníze. Databricks doporučuje používat materializovaná zobrazení k přírůstkové aktualizaci agregovaných hodnot. Viz přírůstkové agregace.
Stavové agregace
Agregace definované v úlohách streamování jsou stavové. Stavové agregace sledují pozorované záznamy v průběhu času a při zpracování nových dat znovu kompilují výsledky.
Vodoznaky musíte použít při výpočtech stavových agregací. Vynechání vodoznaku ze stavového agregovaného dotazu vede k nekonečnému vytváření informací o stavu v průběhu času. Výsledkem je zpomalení zpracování a může dojít k chybám nedostatku paměti.
K výpočtu statistik v celé datové sadě byste neměli používat stavovou agregaci. Databricks doporučuje používat materializovaná zobrazení pro přírůstkový agregační výpočet pro celou datovou sadu. Viz přírůstkové agregace.
Konfigurace úloh, které spočítají stavové agregace efektivně a správně, vyžaduje pochopení způsobu, jakým data přicházejí ze zdrojových systémů a jak Azure Databricks používá vodoznaky, výstupní režimy a intervaly triggerů pro řízení stavu dotazu a výpočtů výsledků.
Přírůstkové agregace
Materializovaná zobrazení můžete použít k výpočtu mnoha agregovaných hodnot přírůstkově. Materializovaná zobrazení automaticky sledují změny ve zdroji dat a aplikují příslušné aktualizace na agregované hodnoty při aktualizaci. Výsledky vrácené materialzed zobrazením jsou ekvivalentní výsledkům vráceným opětovným dokončováním agregovaných výsledků na zdrojových datech pomocí dávkové úlohy nebo ad hoc dotazu.
Přibližné agregace
Zatímco Azure Databricks exceluje při výpočtech s extrémně velkými datovými sadami, použití aproximace pro agregace může zrychlit zpracování dotazů a snížit náklady, pokud nepotřebujete přesné výsledky.
Použití LIMIT příkazů je někdy dost dobré pro získání rychlého snímku dat, ale nezavádí náhodnost nebo zaručuje, že se vzorkování distribuuje napříč datovou sadou.
Spark SQL má následující nativní metody pro přibližné agregace číselných nebo kategorických dat:
-
approx_count_distinctagregační funkce -
approx_percentileagregační funkce -
approx_top_kagregační funkce
Můžete také zadat procento vzorku s TABLESAMPLE pro vygenerování náhodného vzorku z datové sady a výpočet přibližných agregací. Vizklauzule
Monitorování datových sad pomocí agregovaných statistik
Profilace dat používá agregované statistiky a distribuce dat ke sledování kvality dat v průběhu času. Můžete generovat sestavy pro vizualizaci trendů a plánování výstrah, které označí neočekávané změny v datech. Podívejte se na Profilace dat.