Prediktivní optimalizace spravovaných tabulek v Katalogu Unity
Databricks ve výchozím nastavení umožňuje prediktivní optimalizaci pro všechny účty vytvořené po 11. listopadu 2024.
Prediktivní optimalizace eliminuje potřebu ruční správy operací údržby pro spravované tabulky Katalogu Unity v Azure Databricks.
Když je povolená prediktivní optimalizace, Azure Databricks automaticky provede následující:
- Identifikuje tabulky, kterým by prospěla údržba, a zařadí je do fronty ke spuštění těchto operací.
- Shromažďuje statistiky při zápisu dat do spravované tabulky.
Operace údržby se spouští podle potřeby a eliminují nepotřebná spuštění operací údržby a zatížení spojené se sledováním a řešením potíží s výkonem.
Databricks doporučuje používat automatické seskupování pomocí kapalného klastrování a prediktivní optimalizaci pro všechny spravované tabulky Katalogu Unity. Tyto funkce poskytují inteligentní optimalizaci rozložení dat na základě vzorů využití dat. Viz Použijte liquid clustering pro tabulky Delta.
Důležité
Prediktivní optimalizace se spouští pouze ve spravovaných tabulkách Katalogu Unity.
Prediktivní optimalizace se nespouští u streamovaných tabulek nebo materializovaných zobrazení vytvořených v Databricks SQL nebo pomocí kanálů DLT.
Jaké operace spouští prediktivní optimalizace?
Prediktivní optimalizace spouští následující operace automaticky pro povolené tabulky:
Operace | Popis |
---|---|
OPTIMIZE
(1) |
Aktivuje přírůstkové seskupování pro aktivované tabulky. Viz Použijte liquid clustering pro tabulky Delta. Zlepšuje výkon dotazů optimalizací velikostí souborů. Viz Optimalizace rozložení datového souboru. |
VACUUM |
Snižuje náklady na úložiště odstraněním datových souborů, které tabulka již neodkazuje. viz Odebrání nepoužívaných datových souborů pomocí příkazu VACUUM. |
ANALYZE |
Aktivuje přírůstkovou aktualizaci statistik za účelem zlepšení výkonu dotazů. Viz ANALYZE TABLE. |
(1)OPTIMIZE
se nespustí ZORDER
při provádění s prediktivní optimalizací.
Pokud je povolené automatické shlukování kapalin, prediktivní optimalizace může před clusteringem dat vybrat nové klíče clusteringu. Viz Použijte liquid clustering pro tabulky Delta.
Varování
Okno uchovávání informací pro příkaz VACUUM
je určeno vlastností tabulky delta.deletedFileRetentionDuration
, která má výchozí hodnotu 7 dnů. To znamená, že VACUUM
odebere datové soubory, na které už v posledních 7 dnech neodkazuje verze tabulky Delta. Pokud chcete uchovávat data delší dobu (například pro podporu delších časových úseků), musíte tuto vlastnost tabulky nastavit správně, než povolíte prediktivní optimalizaci, jak je uvedeno v následujícím příkladu:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Kde se spouští prediktivní optimalizace?
Prediktivní optimalizace identifikuje tabulky, které by mohly těžit z ANALYZE
, OPTIMIZE
a VACUUM
operací a zařadí je do fronty, aby běžely pomocí bezserverového výpočetního výkonu pro úlohy. Váš účet se účtuje za výpočetní prostředky přidružené k těmto úlohám pomocí skladové položky specifické pro spravované služby Databricks. Podívejte se na ceny spravovaných služeb Databricks. Viz Použití systémových tabulek ke sledování prediktivní optimalizace.
Požadavky na prediktivní optimalizaci
Pokud chcete povolit prediktivní optimalizaci, musíte splnit následující požadavky:
- Váš pracovní prostor Azure Databricks musí být v plánu Premium v oblasti, která podporuje prediktivní optimalizaci. Viz funkce s omezenou regionální dostupností
. - Pokud povolíte prediktivní optimalizaci, musíte použít sql warehouses nebo Databricks Runtime 12.2 LTS nebo vyšší.
- Podporují se jenom spravované tabulky Katalogu Unity.
- Pokud pro účty úložiště vyžadujete privátní připojení, musíte nakonfigurovat bezserverové privátní připojení. Viz Konfigurace privátního připojení z bezserverového výpočetního prostředí.
Povolení prediktivní optimalizace
Prediktivní optimalizaci můžete povolit pro účet, katalog nebo schéma. Všechny spravované tabulky katalogu Unity dědí ve výchozím nastavení hodnotu účtu. Výchozí nastavení účtu pro katalog nebo schéma můžete přepsat a povolit nebo zakázat prediktivní optimalizaci na této úrovni.
Poznámka:
Pokud byl váš účet vytvořen po 11. listopadu 2024, je ve výchozím nastavení pro váš účet povolená prediktivní optimalizace.
Pokud chcete povolit nebo zakázat prediktivní optimalizaci na zadané úrovni, musíte mít následující oprávnění:
Objekt katalogu Unity | Oprávnění |
---|---|
Účet | Správce účtu |
Katalog | Vlastník katalogu |
Schéma | Vlastník schématu |
Poznámka:
Když poprvé povolíte prediktivní optimalizaci, Azure Databricks automaticky vytvoří instanční objekt ve vašem účtu Azure Databricks. Azure Databricks používá tento služební účet k provádění požadovaných operací údržby. Viz Správa instančních objektů.
Povolení nebo zakázání prediktivní optimalizace pro váš účet
Správce účtu může provést následující kroky a povolit prediktivní optimalizaci všech metastorů v účtu. Objekty v účtu zdědí toto nastavení ve výchozím nastavení (toto nastavení se ale dá přepsat na úrovni katalogu nebo schématu):
- Přejděte ke konzole účtů.
- Přejděte do Nastavení a pak povolte funkci.
- Vyberte možnost, která se má použít (například Povoleno) vedle funkce Prediktivní optimalizace.
Poznámka:
- Metastory v oblastech, které nepodporují prediktivní optimalizaci, nejsou povolené.
- Zakázání prediktivní optimalizace na úrovni účtu ho nezakazuje pro katalogy nebo schémata, která je výslovně povolila.
Povolení nebo zakázání prediktivní optimalizace pro katalog nebo schéma
Prediktivní optimalizace používá model dědičnosti. Pokud je pro katalog povoleno, schémata dědí vlastnost. Tabulky v rámci povoleného schématu dědí prediktivní optimalizaci. Pokud chcete toto chování dědičnosti přepsat, můžete explicitně povolit nebo zakázat prediktivní optimalizaci katalogu nebo schématu.
Poznámka:
Před povolením na úrovni účtu můžete prediktivní optimalizaci zakázat na úrovni katalogu nebo schématu. Pokud je v účtu později povolená prediktivní optimalizace, je blokovaná pro tabulky v těchto objektech.
Pomocí následující syntaxe můžete povolit nebo zakázat prediktivní optimalizaci nebo se vrátit k výchozímu nastavení dědění z nadřazeného objektu:
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Kontrola, jestli je povolená prediktivní optimalizace
Pole Predictive Optimization
je vlastnost katalogu Unity, která podrobně popisuje, jestli je povolená prediktivní optimalizace. Pokud je prediktivní optimalizace zděděna z nadřazeného objektu, je uvedena v hodnotě pole.
Pomocí následující syntaxe zjistíte, jestli je povolená prediktivní optimalizace:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Sledování prediktivní optimalizace pomocí systémových tabulek
Azure Databricks poskytuje systémovou tabulku system.storage.predictive_optimization_operations_history
pro pozorovatelnost operací prediktivní optimalizace, nákladů a dopadu. Viz tabulkovou referenci systému prediktivní optimalizace .
Chybová zpráva služby Private Link
Pokud systémová tabulka označí operace jako neúspěšné s FAILED: PRIVATE_LINK_SETUP_ERROR
, možná jste pro bezserverové výpočetní prostředky nekonfigurovali správně privátní propojení. Viz Konfigurace privátního připojení z bezserverového výpočetního prostředí.
Omezení
Prediktivní optimalizace není dostupná ve všech oblastech. Viz funkce s omezenou regionální dostupností
Prediktivní optimalizace nespouští OPTIMIZE
příkazy u tabulek, které používají pořadí Z.
U tabulek s dobou uchovávání odstraněných souborů (delta.deletedFileRetentionDuration
) nakonfigurovanými pod výchozím nastavením 7 dnů se spustí prediktivní optimalizace VACUUM
s dobou uchovávání informací zadanou jako 7 dnů. Podívejte se na Konfigurace uchovávání dat pro dotazy s časovým cestováním.
Prediktivní optimalizace neprovádí operace údržby v následujících tabulkách:
- Tabulky načtené do pracovního prostoru pro uživatele Delta Sharing.
- Externí tabulky.
- Materializované pohledy. Viz Použití materializovaných zobrazení v Databricks SQL.
- Streamované tabulky. Viz Načítání dat pomocí streamovaných tabulek v Databricks SQL.