Freigeben über


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.

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 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.

Hinweis

OPTIMIZE führt ZORDER bei der Ausführung mit der prädiktiven Optimierung nicht aus.

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?

Die prädiktive Optimierung identifiziert Tabellen, die von OPTIMIZE- und VACUUM-Vorgängen profitieren würden und reiht diese zur Ausführung mit serverlosem Computing für Jobs in die Warteschlange ein. 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:

  1. Greifen Sie auf die Kontokonsole zu.
  2. Navigieren zu Einstellungen und dann zu Featureaktivierung.
  3. 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).

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: