Förutsägande optimering för hanterade Unity Catalog-tabeller

Anteckning

Förutsägelseoptimering aktiveras som standard om ditt konto skapades den 11 november 2024 eller senare. Databricks började aktivera befintliga konton från och med den 7 maj 2025. Den här aktiveringen lanseras gradvis och beräknas vara klar i februari 2026. Om du är osäker på om ditt konto redan är aktiverat kan du läsa Kontrollera om förutsägande optimering är aktiverat.

Förutsägande optimering tar bort behovet av att manuellt hantera underhållsåtgärder för hanterade Unity Catalog-tabeller i Azure Databricks.

Med förutsägande optimering aktiverat gör Azure Databricks automatiskt följande:

  • Identifierar tabeller som skulle dra nytta av underhållsåtgärder och ställer dessa åtgärder i kö för att genomföras.
  • Samlar in statistik när data skrivs till en hanterad tabell.

Underhållsåtgärder körs efter behov, vilket eliminerar både onödiga körningar för underhållsåtgärder och den börda som är kopplad till spårnings- och felsökningsprestanda.

Databricks rekommenderar att du använder förutsägelseoptimering för alla hanterade Unity Catalog-tabeller. Automatisk flytande gruppering har till exempel intelligent optimering av datalayout baserat på dina dataanvändningsmönster. Se Använda flytande klustring för tabeller.

Viktigt!

Förutsägelseoptimering körs endast på hanterade Unity Catalog-tabeller.

Förutsägelseoptimering är inte tillgängligt i alla regioner. Se Funktioner med begränsad regional tillgänglighet.

Vilka operationer utförs av prediktiv optimering?

Förutsägelseoptimering kör följande åtgärder automatiskt för aktiverade tabeller:

Verksamhet beskrivning
OPTIMIZE (1) Utlöser inkrementell klustring för aktiverade tabeller. Se Använda flytande klustring för tabeller.
Förbättrar frågeprestanda genom att optimera filstorlekar. Se Optimera datafilens layout.
VACUUM Minskar lagringskostnaderna genom att ta bort datafiler som inte längre refereras till av tabellen. Se Ta bort oanvända datafiler med vakuum.
ANALYZE Utlöser inkrementell uppdatering av statistik för att förbättra frågeprestanda. Se ANALYZE TABLE.

(1)OPTIMIZE kör inte ZORDER när den körs med optimering för förutsägelse. I tabeller som använder Z-ordning ignorerar förutsägande optimering de Z-ordnade filerna.

Om automatisk vätskeklustering är aktiverad kan prediktiv optimering välja nya klustringsnycklar innan data klustras. Se Automatisk flytande klustring.

Varning

Kvarhållningsfönstret för kommandot VACUUM bestäms av tabellens delta.deletedFileRetentionDuration-egenskap och är som standard 7 dagar. Det innebär att VACUUM tar bort datafiler som inte längre refereras till av en Delta-tabellversion under de senaste 7 dagarna. Om du vill behålla data längre (till exempel för att stödja tidsresor under längre perioder) måste du ange den här tabellegenskapen på rätt sätt innan du aktiverar förutsägelseoptimering, som i följande exempel:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Om du konfigurerar delta.deletedFileRetentionDuration under standardvärdet 7 dagar körs VACUUM förutsägelseoptimering med kvarhållningstid på 7 dagar.

Var körs förutsägelseoptimering?

Förutsägande optimering identifierar tabeller som skulle dra nytta av ANALYZE, OPTIMIZE och VACUUM åtgärder och köar dem för att köras med hjälp av serverlös beräkning för uppgifter. Ditt konto debiteras för beräkning som är associerad med dessa arbetsbelastningar med hjälp av en SKU för serverlösa jobb.

Se priser för Databricks-hanterade tjänster. Se Använda systemtabeller för att spåra förutsägelseoptimering.

Förutsättningar för förutsägelseoptimering

Du måste uppfylla följande krav för att möjliggöra förutsägande optimering:

  • Din Azure Databricks-arbetsyta måste finnas på Premium-planen i en region som stöder förutsägelseoptimering. Se Funktioner med begränsad regional tillgänglighet.
  • Du måste använda SQL-lager eller Databricks Runtime 12.2 LTS eller senare när du aktiverar förutsägelseoptimering.
  • Endast hanterade tabeller i Unity Catalog stöds.

Aktivera förutsägande optimering

Du kan aktivera förutsägelseoptimering för ett konto, en katalog eller ett schema. Alla hanterade Unity Catalog-tabeller ärver kontovärdet som standard. Du kan åsidosätta kontostandarden för en katalog eller ett schema för att aktivera eller inaktivera förutsägelseoptimering på den nivån.

Anteckning

Förutsägelseoptimering aktiveras som standard om ditt konto skapades den 11 november 2024 eller senare. Databricks började aktivera befintliga konton från och med den 7 maj 2025. Den här aktiveringen lanseras gradvis och beräknas vara klar i februari 2026.

Du måste ha följande behörigheter för att aktivera eller inaktivera förutsägelseoptimering på den angivna nivån:

Unity Catalog-objekt Privileg
Konto Kontoadministratör
Katalog Katalogägare
Schemat Schemaägare

Aktivera eller inaktivera förutsägelseoptimering för ditt konto

En kontoadministratör kan utföra följande steg för att aktivera förutsägelseoptimering för alla metaarkiv i ett konto. Objekt i kontot ärver den här inställningen som standard (men inställningen kan åsidosättas på katalog- eller schemanivå):

  1. Få åtkomst till kontokonsolen.
  2. Gå till Inställningar och sedan Funktionsaktivering.
  3. Välj det alternativ som ska användas (till exempel Aktiverad) bredvid Förutsägelseoptimering.

Anteckning

  • Metaarkiv i regioner som inte stöder förutsägande optimering är inte aktiverade.
  • Om du inaktiverar förutsägelseoptimering på kontonivå inaktiveras den inte för kataloger eller scheman som har aktiverat den specifikt.

Aktivera eller inaktivera förutsägelseoptimering för en katalog eller ett schema

Förutsägelseoptimering använder en arvsmodell. När det är aktiverat för en katalog ärver scheman egenskapen. Tabeller i ett aktiverat schema ärver förutsägelseoptimering. Om du vill åsidosätta det här arvsbeteendet kan du uttryckligen aktivera eller inaktivera förutsägelseoptimering för en katalog eller ett schema.

Anteckning

Du kan inaktivera förutsägelseoptimering på katalog- eller schemanivå innan du aktiverar den på kontonivå. Om förutsägande optimering senare aktiveras för kontot blockeras det för tabeller i dessa objekt.

Använd följande syntax för att aktivera eller inaktivera förutsägelseoptimering, eller för att återgå till standardvärdet för ärvning från det överordnade objektet:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Kontrollera om förutsägelseoptimering är aktiverat

Fältet Predictive Optimization är en Unity Catalog-egenskap som beskriver om förutsägelseoptimering är aktiverat. Om förutsägelseoptimering ärvs från ett överordnat objekt anges detta i fältvärdet.

Använd följande syntax för att se om förutsägelseoptimering är aktiverat:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Använda systemtabeller för att spåra förutsägelseoptimering

Azure Databricks tillhandahåller systemtabellen system.storage.predictive_optimization_operations_history för observerbarhet till förutsägande optimeringsåtgärder, kostnader och påverkan. Se referens till tabell för prediktiv optimering .

Om systemtabellen markerar åtgärder som misslyckade med FAILED: PRIVATE_LINK_SETUP_ERRORkanske du inte har rätt konfigurerad privat länk för serverlös beräkning. Se Konfigurera privat anslutning till Azure-resurser.

Begränsningar

Förutsägelseoptimering är inte tillgängligt i alla regioner. Se Funktioner med begränsad regional tillgänglighet.

För tabeller med borttagen varaktighet för filkvarhållning (delta.deletedFileRetentionDuration) som konfigurerats under standardvärdet 7 dagar körs VACUUM förutsägelseoptimering med kvarhållningstid som 7 dagar. Se Konfigurera dataretention för frågor om tidsresor.

Förutsägande optimering utför inte underhållsåtgärder i följande tabeller:

  • Tabeller som laddats till en arbetsyta som mottagare av Delta Sharing.
  • Externa tabeller.