Delen via


Voorspellende optimalisatie voor beheerde tabellen in Unity Catalog

Op deze pagina wordt voorspellende optimalisatie beschreven, waarmee automatisch onderhoudsbewerkingen worden uitgevoerd voor beheerde tabellen in Unity Catalog in Azure Databricks.

Notitie

Voorspellende optimalisatie is standaard ingeschakeld voor accounts die zijn gemaakt op of na 11 november 2024. Databricks is begonnen met het inschakelen van bestaande accounts op 7 mei 2025. Deze implementatie is geleidelijk en zal naar verwachting in april 2026 worden voltooid. Zie Controleren of voorspellende optimalisatie is ingeschakeld om te controleren of uw account al is ingeschakeld.

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

  • Identificeert tabellen die baat hebben bij onderhoudstaken en zet deze bewerkingen in de wachtrij om te worden uitgevoerd.
  • Verzamelt statistieken wanneer gegevens naar een beheerde tabel worden geschreven.

Dit elimineert onnodige onderhoudsuitvoeringen en de last van het handmatig bijhouden en oplossen van prestatieproblemen.

Databricks raadt voorspellende optimalisatie aan voor alle beheerde Unity Catalog-tabellen. Automatische vloeistofclustering maakt bijvoorbeeld gebruik van intelligente optimalisatie van de gegevensindeling op basis van uw gegevensgebruikspatronen. Zie Liquid Clustering gebruiken voor tabellen.

Welke bewerkingen worden uitgevoerd voor voorspellende optimalisatie?

Voorspellende optimalisatie voert de volgende bewerkingen uit op beheerde tabellen van Unity Catalog:

Operatie Omschrijving
OPTIMIZE Triggert stapsgewijze clustering van ingeschakelde tabellen. Zie Liquid Clustering gebruiken voor 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 ... REKENSTATISTIEKEN.

Notitie

OPTIMIZE draait niet ZORDER wanneer het wordt uitgevoerd onder voorspellende optimalisatie. Bij tabellen die gebruikmaken van Z-volgorde negeert voorspellende optimalisatie Z-geordende bestanden.

Als automatische liquide clustering is ingeschakeld, kan voorspellende optimalisatie nieuwe clusteringsleutels selecteren voordat gegevens worden geclusterd. Zie Automatische vloeistofclustering.

Waarschuwing

Het bewaarvenster VACUUM wordt bepaald door de delta.deletedFileRetentionDuration tabeleigenschap, die standaard 7 dagen is. VACUUM verwijdert gegevensbestanden waarnaar niet meer wordt verwezen door een Delta-tabelversie in dat venster. nl-NL: Als u gegevens voor een langere periode wilt bewaren (bijvoorbeeld om het tijdsbestek van opslag te verlengen), stelt u deze eigenschap in voordat u voorspellende optimalisatie inschakelt.

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

Rekenvermogen en facturering

Voorspellende optimalisatieuitvoeringen ANALYZE, OPTIMIZEen VACUUM bewerkingen die gebruikmaken van serverloze berekeningen voor taken. Uw account wordt gefactureerd voor deze computing door gebruik te maken van een serverloze jobs-SKU.

Zie prijzen voor beheerde Databricks-services. Zie Voorspellende optimalisatie bijhouden met systeemtabellen.

Vereiste voorwaarden

Aan de volgende vereisten moet worden voldaan om voorspellende optimalisatie te kunnen gebruiken:

  • Uw Azure Databricks-werkruimte moet zich in het Premium-abonnement in een ondersteunde regio bevinden.
  • U moet SQL Warehouses of Databricks Runtime 12.2 LTS of hoger gebruiken.
  • Alleen beheerde tabellen in Unity Catalog worden ondersteund.

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 overschrijven op het niveau van de catalogus of het schema.

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

Unity Catalog-object voorrecht
Gebruikersaccount Accountbeheerder
Catalogus Cataloguseigenaar
Schema Schema-eigenaar

Voorspellende optimalisatie voor uw account in- of uitschakelen

Een accountbeheerder kan voorspellende optimalisatie inschakelen voor alle metastores in een account. Catalogi en schema's nemen deze instelling standaard over, maar u kunt deze op beide niveaus overschrijven.

  1. Ga naar de accountconsole.
  2. Navigeer naar Instellingen en schakel functie in.
  3. Selecteer de gewenste optie (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 een catalogus wordt ingeschakeld, nemen de schemas in die catalogus deze instelling over, en de tabellen binnen een ingeschakeld schema nemen deze eveneens over. U kunt voorspellende optimalisatie voor een catalogus of schema expliciet in- of uitschakelen om dit gedrag te overschrijven.

Notitie

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

Gebruik de volgende syntaxis om voorspellende optimalisatie in te schakelen, uit te schakelen of opnieuw in te stellen om over te nemen 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 laat zien of voorspellende optimalisatie is ingeschakeld. Als de instelling wordt overgenomen van een bovenliggend object, geeft de veldwaarde dit aan.

Gebruik de volgende syntaxis om de status te controleren:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Voorspellende optimalisatie bijhouden met systeemtabellen

Databricks biedt de systeemtabel system.storage.predictive_optimization_operations_history voor waarneembaarheid in voorspellende optimalisatiebewerkingen, kosten en impact. Zie tabel met voorspellende optimalisatiesysteemreferenties.

Als de systeemtabel bewerkingen als mislukt markeert met FAILED: PRIVATE_LINK_SETUP_ERROR, is de serverloze privékoppeling mogelijk niet juist geconfigureerd. Zie Privéconnectiviteit met Azure-resources configureren.

Beperkingen

Voorspellende optimalisatie wordt niet uitgevoerd op de volgende tabeltypen:

  • Tabellen die zijn geladen in een werkruimte als ontvangers van Delta Sharing
  • Externe tabellen