Prädiktive Optimierung für verwaltete Unity Catalog-Tabellen
Durch die prädiktive Optimierung entfällt die Notwendigkeit, Wartungsvorgänge für verwaltete Unity Catalog-Tabellen in Azure Databricks manuell zu verwalten.
Wenn die prädiktive Optimierung aktiviert ist, identifiziert Azure Databricks automatisch Tabellen, die von Wartungsvorgängen profitieren würden und führt diese für die Benutzer*innen aus. Wartungsvorgänge werden nur nach Bedarf ausgeführt, wodurch sowohl die unnötige Ausführung von Wartungsvorgängen als auch der Aufwand für die Nachverfolgung und Problembehandlung sowie die damit zusammenhängende Leistung entfallen.
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 erstellt wurden oder Delta Live Tables-Pipelines verwenden.
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 (2) |
Löst die inkrementelle Aktualisierung von Statistiken aus, um die Abfrageleistung zu verbessern. |
(1) OPTIMIZE
wird nicht ausgeführt ZORDER
, wenn sie mit predictive optimization ausgeführt wird.
(2) Predictive Optimization with ANALYZE
is in Public Preview. Dazu gehören intelligente Stastistikensammlungen während schreibgeschützter Schreibvorgänge. Verwenden Sie dieses Formular , um sich für die öffentliche Vorschau anzumelden. Während der ersten öffentlichen Vorschau ANALYZE
können Befehle auf Tabellen mit bis zu 1 TB Daten und 500 Spalten oder weniger ausgeführt werden.
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 werden Vorgänge von der prädiktiven Optimierung ausgeführt?
Durch die predictive Optimierung werden Tabellen identifiziert, die von ANALYZE
Vorgängen OPTIMIZE
und Vorgängen profitieren, VACUUM
und warteschlangen, um sie mit serverlosen Berechnungen für Aufträge auszuführen. Ihrem Konto werden mit einer speziellen SKU für verwaltete Azure Databricks-Dienste die Computeressourcen in Rechnung gestellt, die diesen Workloads zugeordnet sind. Details finden Sie in den Preisen für verwaltete Databricks-Dienste. Azure Databricks bietet mit Systemtabellen Einblick in Vorgänge, Kosten und Auswirkungen im Zusammenhang mit der prädiktiven Optimierung. 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 Azure Databricks-Regionen.
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 Compute.
Aktivieren der prädiktiven Optimierung
Sie müssen die prädiktive Optimierung auf der Kontoebene aktivieren.
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 | Berechtigung |
---|---|
Firma | Kontoadministrator |
Katalog | Katalogbesitzer |
Schema | Schemabesitzer |
Hinweis
Wenn Sie die prädiktive Optimierung zum ersten Mal aktivieren, erstellt Azure Databricks automatisch einen Dienstprinzipal in Ihrem Azure Databricks-Konto. Azure Databricks verwendet diesen Dienstprinzipal, um die angeforderten Wartungsvorgänge auszuführen. Siehe Verwalten von Dienstprinzipalen.
Aktivieren der prädiktiven Optimierung für Ihr Konto
Ein*e Benutzer*in mit der Rolle „Kontoadministrator“ muss die folgenden Schritte ausführen, um die prädiktive Optimierung für alle Metastores in einem Konto zu aktivieren:
- Greifen Sie auf die Kontokonsole zu.
- Navigieren zu Einstellungen und dann zu Featureaktivierung.
- Wählen Sie neben Prädiktive Optimierung die Option Aktiviert aus.
Hinweis
Metastores in Regionen, die die prädiktive Optimierung nicht unterstützen, sind nicht aktiviert.
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 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:
ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} 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.
Wichtig
Sie müssen die prädiktive Optimierung auf der Kontoebene aktivieren, damit dieses Feld angezeigt wird.
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 eine Systemtabelle zum Nachverfolgen des Verlaufs von Vorgängen der prädiktiven Optimierung. 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 Compute.
Begrenzungen
Die prädiktive Optimierung ist nicht in allen Regionen verfügbar. Weitere Informationen finden Sie unter Azure Databricks-Regionen.
Die prädiktive Optimierung führt keine OPTIMIZE
-Befehle in Tabellen aus, die die Z-Reihenfolge verwenden.
Die Vorhersageoptimierung führt nicht VACUUM
Vorgänge in Tabellen mit einem Dateiaufbewahrungsfenster aus, das unter der Standardeinstellung von 7 Tagen konfiguriert 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.