Sdílet prostřednictvím


Prediktivní optimalizace spravovaných tabulek v Katalogu Unity

Poznámka:

Pro všechny účty vytvořené po 11. listopadu 2024 databricks ve výchozím nastavení povolí prediktivní optimalizaci.

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é by mohly těžit z operací údržby a zařadí tyto operace do front ke spuštění.
  • 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.

Důležité

Prediktivní optimalizace se spouští pouze ve spravovaných tabulkách Katalogu Unity.

Prediktivní optimalizace se nespouští na streamovaných tabulkách nebo materializovaných zobrazeních vytvořených v Databricks SQL nebo pomocí kanálů Delta Live Tables.

Jaké operace se spouští prediktivní optimalizace?

Prediktivní optimalizace spouští následující operace automaticky pro povolené tabulky:

Operation 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í.

Upozorňující

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, OPTIMIZEa 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. Azure Databricks poskytuje systémové tabulky pro pozorovatelnost operací prediktivní optimalizace, nákladů a dopadu. 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 oblasti Azure Databricks.

  • 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í
Obchodní vztah 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 instanční objekt 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):

  1. Přejděte ke konzole účtů.
  2. Přejděte do Nastavení a pak povolte funkci.
  3. 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 pro sledování historie operací prediktivní optimalizace. Viz tabulkovou referenci systému prediktivní optimalizace .

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 oblasti Azure Databricks.

Prediktivní optimalizace nespouští OPTIMIZE příkazy u tabulek, které používají pořadí Z.

Prediktivní optimalizace nespouští VACUUM operace s tabulkami s oknem uchovávání souborů nakonfigurovaným pod výchozí hodnotou 7 dnů. Viz Konfigurace uchovávání dat pro dotazy na časové cesty.

Prediktivní optimalizace neprovádí operace údržby v následujících tabulkách: