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.deletedFileRetentionDuration
table, 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
, OPTIMIZE
en 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:
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 Unity Catalog beheerde tables's 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 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:
- Toegang tot de accountconsole.
- Navigeer naar Instellingen en schakel functie in.
- 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.
Foutbericht van Private Link
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:
- Tables in een werkruimte geladen als Delta Sharing recipients.
- Externe tables.
- Gematerialiseerd views. Zie gebruik maken van gematerialiseerde views in Databricks SQL.
- Streaming tables. Zie Gegevens laden met streaming-tables in Databricks SQL.