Freigeben über


Katalog-Commits

Auf dieser Seite wird erläutert, wie Katalog-Commits aktiviert werden, eine Funktion von Delta-Tabellen, die die Koordination vom Dateisystem in den Unity-Katalog verschiebt und den Katalog zur vertrauenswürdigen Quelle für den Tabellenzustand macht.

Übersicht

Herkömmliche Delta Lake-Transaktionen koordinieren Commits auf der Ebene einzelner Tabellen. Jede Tabelle verwaltet unabhängig voneinander ein eigenes Transaktionsprotokoll und die Konflikterkennung. Katalog-Commits verlagern diese Koordination auf die Katalogebene. Auf diese Weise können Organisationen den gesamten Zugriff auf das Lakehouse über den Unity-Katalog konsistent steuern. Außerdem ermöglicht es Unity Catalog, dass Commits über mehrere Tabellen hinweg innerhalb einer einzigen Transaktionsgrenze koordiniert werden, während gleichzeitig die ACID-Garantien von Delta Lake beibehalten werden.

Vorteile

Katalog-Commits bieten die folgenden Funktionen:

  • Transaktionen, die mehrere Tabellen umfassen: Führen Sie mehrere SQL-Anweisungen in mehreren Tabellen als einzelnes Atom-Commit aus. Alle Änderungen sind zusammen erfolgreich oder schlagen zusammen fehl. Siehe Transaktionen.

    Von Bedeutung

    Transaktionen, die in verwaltete Delta-Tabellen im Unity-Katalog schreiben, befinden sich in der öffentlichen Vorschau.

    Transaktionen, die in verwaltete Iceberg-Tabellen im Unity-Katalog schreiben, befinden sich in der privaten Vorschau. Um dieser Vorschau beizutreten, übermitteln Sie das Vorschauformular für verwaltete Iceberg-Tabellen.

  • Gesteuerter Zugriff: Lese- und Schreibvorgänge werden über den Unity-Katalog koordiniert, sodass der neueste verpflichtete Zustand und die Governancerichtlinien angewendet werden.

  • Schnellere Abfrageplanung und -schreibvorgänge: Unity Catalog informiert einen Delta-Client über Metadaten auf Tabellenebene direkt, wenn er auf eine Tabelle zugreift, Cloudspeicher überspringt und eine wichtige Quelle der Metadatenlatenz entfernt.

  • Erzwingbare Einschränkungen: Unity Catalog überprüft oder lehnt Schema- und Einschränkungsänderungen ab und verhindert inkompatible Updates, die datenintegritäts- oder downstream-Workloads unterbrechen könnten.

  • Externer Zugriff: Sicheres Schreiben aus externen Engines in die von Unity Catalog verwalteten Tabellen. Unity Catalog koordiniert Commits, um Beschädigungen und Parallelitätskonflikte zu verhindern. Siehe Zugriff auf Databricks-Daten mithilfe externer Systeme.

    Von Bedeutung

    Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.

Anforderungen

  • Tabellen müssen verwaltete Tabellen im Unity-Katalog (Delta oder Iceberg) sein.
  • Databricks Runtime 16.4 und höher sind erforderlich, um Tabellen mit aktivierten Katalog-Commits zu lesen, zu schreiben oder zu erstellen.
  • Für das Aktivieren oder Deaktivieren von Katalog-Commits bei vorhandenen Tabellen wird Databricks Runtime 18.0 oder höher benötigt.

Katalog-Commits aktivieren

Sie können Katalog-Commits für neue und vorhandene Tabellen aktivieren.

Katalog-Commits für neue Tabellen aktivieren

Verwenden Sie die delta.feature.catalogManaged Tabelleneigenschaft beim Erstellen einer Tabelle:

CREATE TABLE sales_data (
  sale_id BIGINT,
  amount DECIMAL(10,2),
  sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');

Katalog-Commits für vorhandene Tabellen aktivieren

Verwenden Sie ALTER TABLE, um Katalog-Commits zu einer vorhandenen Tabelle hinzuzufügen.

ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');

Von Bedeutung

Das Aktivieren von Katalog-Commits für eine vorhandene Tabelle synchronisiert den Tabellenstatus mit dem Katalog. Dieser Vorgang kann mehrere Minuten für Tabellen mit hohen Schreibarbeitslasten dauern.

Überprüfen, ob Katalog-Commits aktiviert sind

So überprüfen Sie, ob bei einer Tabelle Katalog-Commits aktiviert sind:

DESCRIBE DETAIL sales_data;

Wenn diese Option aktiviert ist, wird catalogManaged in der tableFeatures-Spalte angezeigt.

Katalog-Commits deaktivieren

Sie können Katalog-Commits mit Databricks Runtime 18.0 und höher deaktivieren. Weitere Informationen finden Sie unter Löschen eines Delta Lake-Tabellenfeatures und Herabstufen des Tabellenprotokolls.

Warnung

Upgrade- oder Downgrade-Vorgänge beim Ausführen von ALTER- oder DROP-Anweisungen nicht abbrechen. Unterbrechungen können die Tabelle in einem teilweise aktualisierten oder herabgestuften Zustand belassen, wodurch sie für alle zukünftigen Lese- und Schreibvorgänge gesperrt wird. Um rückgängig zu machen, führen Sie den entsprechenden Befehl erneut aus, anstatt den Vorgang abzubrechen. Wenden Sie sich an den Databricks-Support, wenn die Tabelle gesperrt ist.

Einschränkungen

  • Sie können Katalog-Commits nicht mithilfe von CREATE OR REPLACE TABLE oder REPLACE TABLE aktivieren oder deaktivieren. Verwenden Sie CREATE TABLE mit der Eigenschaft delta.feature.catalogManaged, um es beim Erstellen einer Tabelle zu aktivieren, oder ALTER TABLE, um es in einer vorhandenen Tabelle zu aktivieren oder zu deaktivieren.
  • Tabellen mit aktivierten Katalog-Commits werden über die Delta-Freigabe mithilfe vorsignierter URLs anstelle von Cloudtoken freigegeben.
  • Ansichten über Tabellen mit aktivierten Katalog-Commits können nicht von Delta freigegeben werden.
  • Materialisierte Ansichten und Streamingtabellen können keine Katalog-Commits aktiviert haben.
  • Tabellen mit aktivierten Katalog-Commits können nicht die Quelltabelle für einen Lakeflow-Auftragstrigger sein.
  • Zerobus kann nicht in Tabellen schreiben, für die Katalog-Commits aktiviert sind.

Nächste Schritte