Freigeben über


Prädiktive Optimierung für verwaltete Unity Catalog-Tabellen

Diese Seite beschreibt die prädiktive Optimierung, die Wartungsvorgänge für verwaltete Tabellen im Unity-Katalog in Azure Databricks automatisch ausführt.

Hinweis

Die Predictive Optimization ist standardmäßig für Konten aktiviert, die am oder nach dem 11. November 2024 erstellt wurden. Databricks begann, bestehende Konten am 7. Mai 2025 zu aktivieren. Dieser Rollout wird schrittweise durchgeführt und voraussichtlich bis April 2026 abgeschlossen. Um zu überprüfen, ob Ihr Konto bereits aktiviert ist, sehen Sie nach, ob die vorausschauende Optimierung aktiviert ist.

Mit aktivierter Vorhersageoptimierung führt Databricks automatisch die folgenden Aktionen aus:

  • Identifiziert Tabellen, die von Wartungsvorgängen profitieren, und stellt diese Vorgänge in die Warteschlange zur Ausführung.
  • Erfasst Statistiken, wenn Daten in eine verwaltete Tabelle geschrieben werden.

Dadurch werden unnötige Wartungsläufe und die Belastung der manuellen Nachverfolgung und Problemlösung beseitigt.

Databricks empfiehlt eine prädiktive Optimierung für alle verwalteten Unity-Katalogtabellen. Beispielsweise verwendet automatisches Liquid Clustering eine intelligente Optimierung des Datenlayouts, die auf Ihren Datennutzungsmustern basiert. Siehe Verwenden von Flüssigclustering für Tabellen.

Welche Vorgänge werden von der prädiktiven Optimierung ausgeführt?

Die Predictive Optimization führt die folgenden Vorgänge in verwalteten Unity-Katalogtabellen aus:

Vorgang Beschreibung
OPTIMIZE Löst das inkrementelle Clustering für aktivierte Tabellen aus. Siehe Verwenden von Flüssigclustering für Tabellen. Verbessert die Abfrageleistung durch Optimieren der Dateigrößen. Siehe Optimieren Sie das Layout der Datendatei.
VACUUM Reduziert die Speicherkosten durch Löschen von Datendateien, auf die nicht mehr in der Tabelle verwiesen wird. Siehe Entfernen nicht verwendeter Datendateien mit Vakuum.
ANALYZE Startet die inkrementelle Aktualisierung von Statistiken zur Verbesserung der Abfrageleistung. Siehe ANALYZE TABLE ... COMPUTE STATISTICS.

Hinweis

OPTIMIZE wird nicht ausgeführt, wenn ZORDER durch die prädiktive Optimierung ausgeführt wird. In Tabellen, die Z-Reihenfolge verwenden, ignoriert die Vorhersageoptimierung Z-geordnete Dateien.

Wenn die automatische Flüssigkeitsclustering aktiviert ist, kann die predictive Optimierung vor dem Clustering von Daten neue Clusteringschlüssel auswählen. Siehe Automatische Flüssigkeitsclusterung.

Warnung

Das Aufbewahrungsfenster VACUUM wird durch die delta.deletedFileRetentionDuration Tabelleneigenschaft bestimmt, die standardmäßig auf 7 Tage festgelegt ist. VACUUM entfernt Datendateien, auf die nicht mehr von einer Delta-Tabellenversion innerhalb dieses Fensters verwiesen wird. Wenn Sie Daten für längere Dauer aufbewahren möchten (z. B. um längere Zeitreisen zu unterstützen), legen Sie diese Eigenschaft fest, bevor Sie die Vorhersageoptimierung aktivieren:

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

Berechnen und Abrechnung

Predictive-Optimierung führt ANALYZE, OPTIMIZE und VACUUM Operationen unter Verwendung von serverlosem Rechnen für Aufgaben aus. Ihr Konto wird für diese Rechenleistung mit einer SKU für serverlose Aufträge in Rechnung gestellt.

Siehe Preise für von Databricks verwaltete Dienste. Siehe "Predictive Optimization nachverfolgen" mit Systemtabellen.

Voraussetzungen

Die folgenden Anforderungen müssen erfüllt sein, um die Vorhersageoptimierung zu verwenden:

  • Ihr Azure Databricks-Arbeitsbereich muss sich im Premium-Plan in einer unterstützten Region befinden.
  • Sie müssen SQL Warehouses oder Databricks Runtime 12.2 LTS oder höher verwenden.
  • Es werden nur verwaltete Unity Catalog-Tabellen unterstützt.

Aktivieren der Vorhersageoptimierung

Sie können eine prädiktive Optimierung für ein Konto, einen Katalog oder ein Schema aktivieren. Alle verwalteten Unity Catalog-Tabellen erben standardmäßig den Kontowert. Sie können den Kontenstandard auf Katalog- oder Schemaebene überschreiben.

Sie müssen über die folgenden Berechtigungen verfügen, um die prädiktive Optimierung zu aktivieren oder zu deaktivieren:

Unity Catalog-Objekt Privileg
Konto Kontoadministrator
Katalog Katalogbesitzer
Schema Schemabesitzer

Aktivieren oder Deaktivieren der prädiktiven Optimierung für Ihr Konto

Ein Kontoadministrator kann eine prädiktive Optimierung für alle Metastores in einem Konto aktivieren. Kataloge und Schemas erben diese Einstellung standardmäßig, aber Sie können sie auf beiden Ebenen überschreiben.

  1. Wechseln Sie zur Kontokonsole.
  2. Navigieren Sie zu "Einstellungen" und dann zur Featureaktivierung.
  3. Wählen Sie die gewünschte Option (z. B. "Aktiviert") neben "Predictive Optimization" aus.

Hinweis

  • Metastores in Regionen, die keine predictive Optimierung unterstützen, sind nicht aktiviert.
  • Das Deaktivieren der prädiktiven Optimierung auf Kontoebene deaktiviert sie nicht für Kataloge oder Schemas, die sie speziell aktiviert haben.

Aktivieren oder Deaktivieren der prädiktiven Optimierung für einen Katalog oder ein Schema

Die prädiktive Optimierung verwendet ein Vererbungsmodell. Wenn sie für einen Katalog aktiviert sind, erben Schemas in diesem Katalog die Einstellung, und Tabellen innerhalb eines aktivierten Schemas erben sie ebenfalls. Sie können die prädiktive Optimierung für einen Katalog oder ein Schema explizit aktivieren oder deaktivieren, um dieses Verhalten außer Kraft zu setzen.

Hinweis

Sie können die Vorhersageoptimierung auf Katalog- oder Schemaebene deaktivieren, bevor Sie sie auf Kontoebene aktivieren. Wenn die Vorhersageoptimierung später auf Kontoebene aktiviert ist, bleibt sie für Tabellen in diesen Objekten blockiert.

Verwenden Sie die folgende Syntax, um die prädiktive Optimierung zu aktivieren, zu deaktivieren oder zurückzusetzen, um vom übergeordneten Objekt zu erben:

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

Überprüfen, ob die Vorhersageoptimierung aktiviert ist

Das Predictive Optimization Feld ist eine Unity Catalog-Eigenschaft, die anzeigt, ob die Vorhersageoptimierung aktiviert ist. Wenn die Einstellung von einem übergeordneten Objekt geerbt wird, gibt der Feldwert dies an.

Verwenden Sie die folgende Syntax, um den Status zu überprüfen:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Nachverfolgen der Vorhersageoptimierung mit Systemtabellen

Databricks bietet die Systemtabelle system.storage.predictive_optimization_operations_history für die Beobachtbarkeit von prädiktiven Optimierungsvorgängen, Kosten und deren Auswirkungen. Weitere Informationen finden Sie unter Predictive optimization system table reference (Referenz zur Systemtabelle für die prädiktive Optimierung).

Wenn die Systemtabelle Vorgänge als fehlgeschlagen FAILED: PRIVATE_LINK_SETUP_ERRORmarkiert, sind serverlose private Verknüpfungen möglicherweise nicht ordnungsgemäß konfiguriert. Siehe Konfigurieren der privaten Konnektivität mit Azure-Ressourcen.

Begrenzungen

Die Predictive Optimization wird nicht für die folgenden Tabellentypen ausgeführt:

  • Tabellen, die als Delta Sharing-Empfänger in einen Arbeitsbereich geladen wurden
  • Externe Tabellen