Prädiktive Optimierung für verwaltete Unity Catalog-Tabellen
Databricks ermöglicht standardmäßig eine predictive Optimierung für alle Konten, die nach dem 11. November 2024 erstellt wurden.
Durch die prädiktive Optimierung entfällt die Notwendigkeit, Wartungsvorgänge für verwaltete Unity Catalog-Tabellen in Azure Databricks manuell zu verwalten.
Mit aktivierter Vorhersageoptimierung führt Azure Databricks automatisch die folgenden Aktionen aus:
- Identifiziert Tabellen, die von Wartungsvorgängen profitieren würden, und stellt diese Vorgänge zur Ausführung in die Warteschlange.
- Erfasst Statistiken, wenn Daten in eine verwaltete Tabelle geschrieben werden.
Wartungsvorgänge werden nach Bedarf ausgeführt, wodurch sowohl unnötige Wartungsvorgänge als auch die Belastung durch Überwachung und Fehlersuche entfällt.
Databricks empfiehlt, automatisches Liquid Clustering und prädiktive Optimierung für alle verwalteten Unity Catalog-Tabellen zu verwenden. Diese Features bieten eine intelligente Optimierung des Datenlayouts basierend auf Ihren Datennutzungsmustern. Weitere Informationen finden Sie unter Verwenden von Liquid Clustering für Delta-Tabellen.
Wichtig
Die Predictive Optimization wird nur in verwalteten Tabellen des Unity-Katalogs ausgeführt.
Die Predictive Optimization wird nicht für Streamingtabellen oder materialisierte Ansichten ausgeführt, die in Databricks SQL oder mit DLT-Pipelines erstellt wurden.
Welche Vorgänge werden von der prädiktiven Optimierung ausgeführt?
Die prädiktive Optimierung führt die folgenden Vorgänge automatisch für aktivierte Tabellen aus:
Vorgang | Beschreibung |
---|---|
OPTIMIZE (1) |
Löst das inkrementelle Clustering für aktivierte Tabellen aus. Weitere Informationen finden Sie unter Verwenden von Liquid Clustering für Delta-Tabellen. Verbessert die Abfrageleistung durch Optimieren der Dateigrößen. Weitere Informationen finden Sie unter Optimieren des Datendateilayouts. |
VACUUM |
Reduziert die Speicherkosten durch Löschen von Datendateien, auf die nicht mehr in der Tabelle verwiesen wird. Weitere Informationen finden Sie unter Entfernen nicht verwendeter Datendateien mit VACUUM. |
ANALYZE |
Startet die inkrementelle Aktualisierung von Statistiken zur Verbesserung der Abfrageleistung. Siehe ANALYZE TABLE. |
(1)OPTIMIZE
führt ZORDER
bei der Ausführung mit prädiktiver Optimierung nicht aus. In Tabellen, die Z-Reihenfolge verwenden, ignoriert die Vorhersageoptimierung die Z-sortierten Dateien.
Wenn die automatische Flüssigkeitsclustering aktiviert ist, kann die predictive Optimierung vor dem Clustering von Daten neue Clusteringschlüssel auswählen. Weitere Informationen finden Sie unter Verwenden von Liquid Clustering für Delta-Tabellen.
Warnung
Der Aufbewahrungszeitraum für den VACUUM
-Befehl wird durch die Tabelleneigenschaft delta.deletedFileRetentionDuration
bestimmt, die standardmäßig auf sieben Tage festgelegt ist. Dies bedeutet, dass VACUUM
Datendateien entfernt, auf die in den letzten sieben Tagen nicht mehr von einer Deltatabellenversion verwiesen wurde. Wenn Sie Daten länger aufbewahren möchten (z. B. zum Unterstützen der Zeitreise für längere Zeiträume), müssen Sie diese Tabelleneigenschaft wie im folgenden Beispiel gezeigt entsprechend festlegen, bevor Sie die prädiktive Optimierung aktivieren:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Wo läuft die prädiktive Optimierung?
Die prädiktive Optimierung identifiziert Tabellen, die von ANALYZE
-, OPTIMIZE
- und VACUUM
-Vorgängen profitieren würden und reiht diese zur Ausführung mit serverlosem Computing in die Warteschlange ein. Ihrem Konto werden mithilfe einer speziellen SKU für verwaltete Azure Databricks-Dienste die Computeressourcen in Rechnung gestellt, die diesen Workloads zugeordnet sind. Informieren Sie sich über die Preise für von Databricks verwaltete Dienste. Siehe Verwenden von Systemtabellen zum Nachverfolgen der prädiktiven Optimierung.
Voraussetzungen für die prädiktive Optimierung
Um die prädiktive Optimierung aktivieren zu können, müssen Sie die folgenden Anforderungen erfüllen:
- Ihr Azure Databricks-Arbeitsbereich muss sich im Premium-Plan in einer Region befinden, die die Vorhersageoptimierung unterstützt. Weitere Informationen finden Sie unter Features mit eingeschränkter regionaler Verfügbarkeit.
- Sie müssen SQL-Warehouses oder Databricks Runtime 12.2 LTS oder höher verwenden, wenn Sie die Vorhersageoptimierung aktivieren.
- Es werden nur verwaltete Unity Catalog-Tabellen unterstützt.
- Wenn Sie eine private Konnektivität für Ihre Speicherkonten benötigen, müssen Sie die serverlose private Konnektivität konfigurieren. Weitere Informationen finden Sie unter Konfigurieren der privaten Konnektivität von serverlosem Computing.
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 die Standardeinstellungen des Kontos für einen Katalog oder ein Schema überschreiben, um die Vorhersageoptimierung auf dieser Ebene zu aktivieren oder zu deaktivieren.
Hinweis
Wenn Ihr Konto nach dem 11. November 2024 erstellt wurde, ist die predictive Optimierung standardmäßig für Ihr Konto aktiviert.
Sie müssen über die folgenden Berechtigungen verfügen, um die prädiktive Optimierung auf der angegebenen Ebene 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 die folgenden Schritte ausführen, um die predictive Optimierung für alle Metastores in einem Konto zu aktivieren. Objekte im Konto erben diese Einstellung standardmäßig (die Einstellung kann jedoch auf Katalog- oder Schemaebene überschrieben werden):
- Greifen Sie auf die Kontokonsole zu.
- Navigieren zu Einstellungen und dann zu Featureaktivierung.
- Wählen Sie die zu verwendende Option (z. B. Aktiviert) neben Prädiktive Optimierungaus.
Hinweis
- Metastores in Regionen, die die prädiktive Optimierung nicht 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 wird, erben Schemas die Eigenschaft. Tabellen innerhalb eines aktivierten Schemas erben die prädiktive Optimierung. Um dieses Vererbungsverhalten außer Kraft zu setzen, können Sie die prädiktive Optimierung für einen Katalog oder ein Schema explizit aktivieren oder deaktivieren.
Hinweis
Sie können die Vorhersageoptimierung auf Katalog- oder Schemaebene deaktivieren, bevor Sie sie auf Kontoebene aktivieren. Wenn die Vorhersageoptimierung später für das Konto aktiviert ist, wird sie für Tabellen in diesen Objekten blockiert.
Verwenden Sie die folgende Syntax, um die prädiktive Optimierung zu aktivieren oder zu deaktivieren, oder um zum Standard zurückzukehren, der vom übergeordneten Objekt geerbt wird:
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Überprüfen, ob die prädiktive Optimierung aktiviert ist
Das Feld Predictive Optimization
ist eine Unity Catalog-Eigenschaft, die angibt, ob die prädiktive Optimierung aktiviert ist. Wenn die prädiktive Optimierung von einem übergeordneten Objekt geerbt wird, ist dies im Feldwert angegeben.
Verwenden Sie die folgende Syntax, um zu überprüfen, ob die prädiktive Optimierung aktiviert ist:
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Verwenden von Systemtabellen zum Nachverfolgen der prädiktiven Optimierung
Azure Databricks bietet die Systemtabelle system.storage.predictive_optimization_operations_history
für die Überwachbarkeit von prädiktiven Optimierungsoperationen, Kosten und Auswirkungen. Siehe Predictive optimization system table reference (Referenz zur Systemtabelle für die prädiktive Optimierung).
Fehlermeldung für private Verbindung
Wenn die Systemtabelle Vorgänge mit FAILED: PRIVATE_LINK_SETUP_ERROR
als fehlgeschlagen markiert, haben Sie die private Verbindung für serverloses Computing womöglich nicht richtig konfiguriert. Weitere Informationen finden Sie unter Konfigurieren der privaten Konnektivität von serverlosem Computing.
Begrenzungen
Die prädiktive Optimierung ist nicht in allen Regionen verfügbar. Weitere Informationen finden Sie unter Features mit eingeschränkter regionaler Verfügbarkeit.
Bei Tabellen mit gelöschter Dateiaufbewahrungsdauer (delta.deletedFileRetentionDuration
), die unter dem Standard von 7 Tagen konfiguriert ist, wird die Vorhersageoptimierung VACUUM
ausgeführt, wobei die Aufbewahrungsdauer als 7 Tage angegeben ist. Weitere Informationen finden Sie unter Konfigurieren der Datenaufbewahrung für Zeitreiseabfragen.
Die prädiktive Optimierung führt keine Wartungsvorgänge für die folgenden Tabellen durch:
- Tabellen, die als Delta Sharing-Empfänger in einen Arbeitsbereich geladen wurden.
- Externe Tabellen.
- Materialisierte Sichten. Weitere Informationen finden Sie unter Verwenden materialisierter Sichten in Databricks SQL.
- Streamingtabellen. Weitere Informationen finden Sie unter Laden von Daten mithilfe von Streamingtabellen in Databricks SQL.