Delen via


Voorspellende optimalisatie voor beheerde tabellen in Unity Catalog

Notitie

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

Met voorspellende optimalisatie hoeft u geen onderhoudsbewerkingen voor beheerde Unity Catalog-tabellen in Azure Databricks handmatig te beheren.

Als voorspellende optimalisatie is ingeschakeld, doet Azure Databricks automatisch het volgende:

  • Identificeert tabellen die baat hebben bij onderhoudsbewerkingen en plaatst deze bewerkingen in een wachtrij om uit te voeren.
  • Verzamelt statistieken wanneer gegevens naar een beheerde tabel worden geschreven.

Onderhoudsbewerkingen worden indien nodig uitgevoerd, 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 beheerde tabellen van Unity Catalog.

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

Welke bewerkingen worden uitgevoerd voor voorspellende optimalisatie?

Voorspellende optimalisatie voert de volgende bewerkingen automatisch uit voor ingeschakelde tabellen:

Operation Omschrijving
OPTIMIZE (1) Triggert stapsgewijze clustering van ingeschakelde tabellen. Zie Liquid Clustering gebruiken voor Delta-tabellen.

Verbetert de queryprestaties door de bestandsgrootten te optimaliseren. Zie Indeling van gegevensbestand optimaliseren.
VACUUM Vermindert de opslagkosten door gegevensbestanden te verwijderen waarnaar niet meer wordt verwezen door de tabel. Zie Ongebruikte gegevensbestanden verwijderen met vacuüm.
ANALYZE Activeert incrementele update van statistieken om de queryprestaties te verbeteren. Zie ANALYZE TABLE.

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

Waarschuwing

Het bewaarvenster voor de opdracht VACUUM wordt bepaald door de eigenschap delta.deletedFileRetentionDuration tabel, die standaard 7 dagen is. Dit betekent dat VACUUM gegevensbestanden verwijdert waarnaar in de afgelopen 7 dagen niet meer wordt verwezen door een Delta-tabelversie. Als u gegevens langer wilt bewaren (zoals het ondersteunen van tijdreizen voor langere duur), moet u deze tabeleigenschap instellen voordat u voorspellende optimalisatie inschakelt, zoals in het volgende voorbeeld:

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

Waar wordt voorspellende optimalisatie uitgevoerd?

Voorspellende optimalisatie identificeert tabellen die baat hebben bij ANALYZE, OPTIMIZEen VACUUM bewerkingen en plaatst ze in een wachtrij voor uitvoering met behulp van serverloze rekenkracht 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 systeemtabellen voor waarneembaarheid in voorspellende optimalisatiebewerkingen, kosten en impact. Zie Systeemtabellen gebruiken om voorspellende optimalisatie bij te houden.

Vereisten voor voorspellende optimalisatie

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

  • Uw Azure Databricks-werkruimte moet zich in het Premium-abonnement bevinden in een regio die predictive optimization ondersteunt. Zie Azure Databricks-regio's.

  • U moet SQL Warehouses of Databricks Runtime 12.2 LTS of hoger gebruiken wanneer u voorspellende optimalisatie inschakelt.

  • Alleen beheerde tabellen in Unity Catalog worden ondersteund.

  • Als u privéconnectiviteit nodig hebt voor uw opslagaccounts, moet u serverloze privéconnectiviteit configureren. Zie Privéconnectiviteit configureren vanuit serverloze berekeningen.

Voorspellende optimalisatie inschakelen

U kunt voorspellende optimalisatie inschakelen voor een account, een catalogus of een schema. Alle beheerde tabellen van Unity Catalog nemen standaard de accountwaarde over. U kunt de standaardinstelling van het account voor een catalogus of schema overschrijven om voorspellende optimalisatie op dat niveau in of uit te schakelen.

Notitie

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

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
Catalogus Cataloguseigenaar
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 in- of uitschakelen

Een accountbeheerder kan de volgende stappen uitvoeren om voorspellende optimalisatie in te schakelen voor alle metastores in een account. Objecten in het account nemen deze instelling standaard over (maar de instelling kan worden overschreven op catalogus- of schemaniveau):

  1. Toegang tot de accountconsole.
  2. Navigeer naar Instellingen en schakel functie in.
  3. Selecteer de optie die u wilt gebruiken (bijvoorbeeld ingeschakeld) naast voorspellende optimalisatie.

Notitie

  • Metastores in regio's die geen ondersteuning bieden voor voorspellende optimalisatie, worden niet ingeschakeld.
  • Als u voorspellende optimalisatie uitschakelt op accountniveau, wordt deze niet uitgeschakeld voor catalogi of schema's waarvoor deze specifiek is ingeschakeld.

Voorspellende optimalisatie voor een catalogus of schema in- of uitschakelen

Voorspellende optimalisatie maakt gebruik van een overnamemodel. Wanneer ze zijn ingeschakeld voor een catalogus, nemen schema's de eigenschap over. Tabellen binnen een ingeschakeld schema nemen voorspellende optimalisatie over. Als u dit overnamegedrag wilt overschrijven, kunt u voorspellende optimalisatie expliciet in- of uitschakelen voor een catalogus of schema.

Notitie

U kunt voorspellende optimalisatie uitschakelen op catalogus- of schemaniveau voordat u deze inschakelt op accountniveau. Als voorspellende optimalisatie later is ingeschakeld voor het account, wordt deze geblokkeerd voor tabellen in deze objecten.

Gebruik de volgende syntaxis om voorspellende optimalisatie in of uit te schakelen of om terug te keren naar de standaardinstelling voor het overnemen van het bovenliggende object:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } 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.

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

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Systeemtabellen gebruiken om voorspellende optimalisatie bij te houden

Azure Databricks biedt een systeemtabel voor het bijhouden van de geschiedenis van voorspellende optimalisatiebewerkingen. Zie tabel met voorspellende optimalisatiesysteemreferenties.

Als de systeemtabel bewerkingen markeert als mislukt met FAILED: PRIVATE_LINK_SETUP_ERROR, hebt u mogelijk geen 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 tabellen die gebruikmaken van Z-volgorde.

Voorspellende optimalisatie voert geen VACUUM bewerkingen uit op tabellen met een bestandsretentievenster dat is geconfigureerd onder de standaardwaarde van 7 dagen. Zie Gegevensretentie configureren voor query's voor tijdreizen.

Voorspellende optimalisatie voert geen onderhoudsbewerkingen uit in de volgende tabellen: