Delen via


Voorspellende optimalisatie voor Unity Catalog beheer tables

Notitie

Voor alle accounts die na 11 november 2024 zijn gemaakt, schakelt Databricks standaard voorspellende optimalisatie in.

Met voorspellende optimalisatie hoeven onderhoudsbewerkingen voor Unity Catalog beheerde tables in Azure Databricks niet meer handmatig te worden beheerd.

Als voorspellende optimalisatie is ingeschakeld, identificeert Azure Databricks automatisch tables die baat hebben bij onderhoudsbewerkingen en deze voor de gebruiker uitvoert. Onderhoudsbewerkingen worden alleen uitgevoerd als dat nodig is, waardoor zowel onnodige uitvoeringen voor onderhoudsbewerkingen als de last van het bijhouden en oplossen van problemen worden voorkomen.

Belangrijk

Voorspellende optimalisatie wordt alleen uitgevoerd op Unity Catalog beheerd door tables.

Voorspellende optimalisatie wordt niet uitgevoerd op streaming tables of gerealiseerde views die zijn gemaakt in Databricks SQL of met behulp van Delta Live Tables-pijplijnen.

Welke bewerkingen worden uitgevoerd voor voorspellende optimalisatie?

Met voorspellende optimalisatie worden de volgende bewerkingen automatisch uitgevoerd voor ingeschakelde tables:

Operation Omschrijving
OPTIMIZE (1) Activeert incrementele clustering voor de ingeschakelde tables. Zie vloeibare clustering gebruiken voor Delta tables.

Verbetert de queryprestaties door de bestandsgrootten te optimaliseren. Zie Optimize indeling van gegevensbestanden.
VACUUM Vermindert de opslagkosten door gegevensbestanden te verwijderen waarnaar niet meer wordt verwezen door de table. Zie Remove ongebruikte gegevensbestanden met vacuum.
ANALYZE (2) Activeert incrementele update statistieken om de queryprestaties te verbeteren.

(1)OPTIMIZE wordt niet uitgevoerd ZORDER wanneer deze wordt uitgevoerd met voorspellende optimalisatie.

(2) Voorspellende optimalisatie met ANALYZE is in openbare preview. Gebruik dit formulier om u aan te melden voor de openbare preview. Tijdens de eerste openbare preview kunnen ANALYZE opdrachten worden uitgevoerd op tables met 500 columns of minder.

Waarschuwing

De retentie-window voor de opdracht VACUUM wordt bepaald door de eigenschap delta.deletedFileRetentionDurationtable, die standaard 7 dagen is. Dit betekent dat VACUUM gegevensbestanden verwijdert waarnaar in de afgelopen 7 dagen niet meer wordt verwezen door een Delta-table-versie. Als u gegevens langer wilt bewaren (zoals het ondersteunen van tijdreizen voor langere duur), moet u deze set eigenschap op de juiste wijze table voordat u voorspellende optimalisatie inschakelt, zoals in het volgende voorbeeld:

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

Voert Where voorspellende optimalisatie uit?

Voorspellende optimalisatie identificeert tables die baat hebben bij ANALYZE, OPTIMIZEen VACUUM bewerkingen en plaatst ze in de wachtrij voor serverloze verwerking voor taken. Uw account wordt gefactureerd voor berekeningen die zijn gekoppeld aan deze workloads met behulp van een SKU die specifiek is voor Databricks Managed Services. Zie prijzen voor beheerde Databricks-services. Azure Databricks biedt systeem tables voor inzicht in voorspellende optimalisatiebewerkingen, kosten en impact. Zie Systeem tables gebruiken om voorspellende optimalisatie bij te houden.

Vereisten voor voorspellende optimalisatie

U moet voldoen aan de volgende vereisten om voorspellende optimalisatie in te schakelen:

Voorspellende optimalisatie inschakelen

U moet voorspellende optimalisatie inschakelen op accountniveau.

Notitie

Als uw account na 11 november 2024 is gemaakt, is voorspellende optimalisatie standaard ingeschakeld.

U moet over de volgende bevoegdheden beschikken om voorspellende optimalisatie op het opgegeven niveau in of uit te schakelen:

Unity Catalog-object Privilege
Rekening Accountbeheerder
Catalog Catalog eigenaar
Schema Schema eigenaar

Notitie

Wanneer u voorspellende optimalisatie voor de eerste keer inschakelt, maakt Azure Databricks automatisch een service-principal in uw Azure Databricks-account. Azure Databricks gebruikt deze service-principal om de aangevraagde onderhoudsbewerkingen uit te voeren. Zie Service-principals beheren.

Voorspellende optimalisatie voor uw account inschakelen

Een accountbeheerder moet de volgende stappen uitvoeren om voorspellende optimalisatie in te schakelen voor alle metastores in een account:

  1. Toegang tot de accountconsole.
  2. Navigeer naar Instellingen en schakel functie in.
  3. Select ingeschakeld naast voorspellende optimalisatie.

Notitie

Metastores in regio's die geen voorspellende optimalisatie ondersteunen, zijn niet ingeschakeld.

Voorspellende optimalisatie in- of uitschakelen voor een catalog of schema

Voorspellende optimalisatie maakt gebruik van een overnamemodel. Wanneer deze optie is ingeschakeld voor een catalog, nemen schema's de eigenschap over. Tables binnen een ingeschakelde schema voorspellende optimalisatie overnemen. Als u dit overnamegedrag wilt negeren, kunt u voorspellende optimalisatie expliciet uitschakelen voor een catalog of schema.

Notitie

U kunt voorspellende optimalisatie uitschakelen op catalog of schema niveau voordat u deze inschakelt op accountniveau. Als voorspellende optimalisatie later op het account is ingeschakeld, wordt het geblokkeerd voor tables in deze objecten.

Gebruik de volgende syntaxis om voorspellende optimalisatie in of uit te schakelen:

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

Controleren of voorspellende optimalisatie is ingeschakeld

Het Predictive Optimization veld is een Unity-Catalog eigenschap die details bevat als voorspellende optimalisatie is ingeschakeld. Als voorspellende optimalisatie wordt overgenomen van een bovenliggend object, wordt dit aangegeven in de veldwaarde.

Belangrijk

U moet voorspellende optimalisatie op accountniveau inschakelen om dit veld weer te geven.

Gebruik de volgende syntaxis om te zien of voorspellende optimalisatie is ingeschakeld:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Systeem tables gebruiken om voorspellende optimalisatie bij te houden

Azure Databricks biedt een systeem table om de geschiedenis van voorspellende optimalisatiebewerkingen bij te houden. Zie voorspellende optimalisatiesysteem table referentie.

Als het systeem table bewerkingen markeert als mislukt met FAILED: PRIVATE_LINK_SETUP_ERROR, hebt u mogelijk niet correct geconfigureerde private link voor serverloze berekeningen. Zie Privéconnectiviteit configureren vanuit serverloze berekeningen.

Beperkingen

Voorspellende optimalisatie is niet beschikbaar in alle regio's. Zie Azure Databricks-regio's.

Voorspellende optimalisatie voert geen OPTIMIZE opdrachten uit op tables die gebruikmaken van Z-volgorde.

Voorspellende optimalisatie voert geen VACUUM bewerkingen uit op tables met een bestandsretentie window geconfigureerd onder de standaardwaarde van 7 dagen. Zie Gegevensretentie configureren voor query's voor tijdreizen.

Voorspellende optimalisatie voert geen onderhoudsbewerkingen uit op de volgende tables: