Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Cataloguscommits verplaatsen de coördinatie van commits van het bestandssysteem naar Unity Catalog, waardoor de catalogus de enige bron van waarheid wordt voor de status van Delta Lake- en Apache Iceberg-tabellen. Dit maakt transacties met meerdere tabellen mogelijk, snellere queryplanning en beheerde toegang voor alle tabelbewerkingen.
Traditionele Delta Lake-transacties coördineren doorvoeringen op het niveau van de afzonderlijke tabel. Elke tabel beheert onafhankelijk van elkaar een eigen transactielogboek en conflictdetectie. Door doorvoercoördinatie naar het catalogusniveau te verplaatsen, kunnen organisaties hierdoor consistent alle toegang tot Lakehouse beheren via Unity Catalog. Unity Catalog kan ook commits in meerdere tabellen binnen één transactiegrens orkestreren, terwijl het de ACID-garanties van Delta Lake behoudt.
Voordelen
Cataloguscommits bieden de volgende mogelijkheden:
Transacties die meerdere tabellen omvatten: voer meerdere SQL-instructies uit in meerdere tabellen als één atomische doorvoering. Alle wijzigingen slagen samen of mislukken samen. Zie Transacties.
Important
Transacties die naar beheerde Iceberg-tabellen in Unity Catalog schrijven, bevinden zich in private preview. Als u wilt deelnemen aan deze preview, dient u het voorbeeldformulier voor beheerde Iceberg-tabellen in.
Beheerde toegang: Lees- en schrijfbewerkingen worden gecoördineerd via Unity Catalog, zodat systemen de nieuwste vastgelegde status zien en de governancebeleidsmaatregelen toepassen.
Snellere queryplanning en schrijfbewerkingen: Unity Catalog informeert een Delta-client rechtstreeks over metagegevens op tabelniveau wanneer deze toegang heeft tot een tabel, cloudopslag overslaat en een belangrijke bron van latentie van metagegevens verwijdert.
Afdwingbare beperkingen: Unity Catalog valideert of weigert schema- en beperkingswijzigingen, waardoor incompatibele updates worden voorkomen die de gegevensintegriteit of downstreamworkloads kunnen verbreken.
Externe toegang: veilig schrijven naar beheerde tabellen van Unity Catalog vanuit externe engines. Unity Catalog coördineert commits om corruptie- en gelijktijdigheidsconflicten te voorkomen. Zie Toegang tot Databricks-gegevens met behulp van externe systemen.
Important
Deze functie bevindt zich in de bètaversie. Werkruimtebeheerders kunnen de toegang tot deze functie beheren vanaf de pagina Previews . Zie Azure Databricks previews beheren.
Requirements
- Tabellen moeten door Unity Catalog beheerde tabellen zijn (Delta of Iceberg), inclusief streamingtabellen of gematerialiseerde weergaven.
- Databricks Runtime 16.4 en hoger is vereist om te lezen van, ernaar te schrijven of beheerde tabellen te maken met catalog-commits ingeschakeld.
- Databricks Runtime 18.0 en hoger is vereist om cataloguscommits in bestaande beheerde tabellen in of uit te schakelen.
- Databricks Runtime 17.3 of hoger is vereist om uit streamingtabellen of gematerialiseerde weergaven te lezen of ernaar te schrijven waarvoor cataloguscommits zijn ingeschakeld.
- Binnen Spark Declarative Pipelines is serverless compute ofwel classic compute met Databricks Runtime 17.3 of hoger vereist om streamingtabellen of gematerialiseerde weergaven te lezen, ernaar te schrijven, ze te maken of te upgraden, waarbij cataloguscommits zijn ingeschakeld.
- Databricks Runtime 18 LTS en hoger is vereist om cataloguscommits uit te schakelen op bestaande streamingtabellen of gematerialiseerde views.
Catalogus commit acties inschakelen
Schakel cataloguscommits in voor nieuwe of bestaande beheerde tabellen, streamingtabellen en gematerialiseerde weergaven.
Schakel cataloguscommits in voor nieuwe beheerde tabellen
Gebruik de delta.feature.catalogManaged tabeleigenschap bij het aanmaken van een beheerde tabel:
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Schakel cataloguscommits in voor bestaande beheerde tabellen
Gebruik ALTER TABLE om cataloguscommits toe te voegen aan een bestaande beheerde tabel:
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Important
Het inschakelen van catalogusdoorvoeringen in een bestaande tabel synchroniseert de tabelstatus met de catalogus. Deze bewerking kan enkele minuten duren voor tabellen met grote hoeveelheden schrijfbewerkingen.
Schakel cataloguscomits in voor nieuwe of bestaande streamingtabellen of gematerialiseerde weergaven
Voeg de delta.feature.catalogManaged tabeleigenschap toe aan de streamingtabel of gematerialiseerde weergavedefinitie, en voer vervolgens een update uit. Voor een bestaand object werkt u de oorspronkelijke definitie bij.
ALTER TABLE ... SET TBLPROPERTIES wordt niet ondersteund.
Het volgende voorbeeld maakt cataloguscommits mogelijk voor een nieuwe of bestaande streamingtabel:
CREATE OR REFRESH STREAMING TABLE streaming_sales_data
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported')
AS SELECT * FROM STREAM sales_data;
Voor een gematerialiseerde weergave gebruik je dezelfde tabeleigenschap in de CREATE OR REFRESH MATERIALIZED VIEW definitie.
Controleren of catalogusdoorvoeringen zijn ingeschakeld
Om te controleren of cataloguscommits voor een tabel zijn ingeschakeld:
DESCRIBE DETAIL sales_data;
Als deze optie is ingeschakeld, verschijnt catalogManaged in de tableFeatures kolom.
Cataloguscommits uitschakelen
Gebruik Databricks Runtime 18.0 en hoger om cataloguscommits uit te schakelen op een bestaande beheerde tabel.
Voor een bestaande streamingtabel of gematerialiseerde weergave gebruik je Databricks Runtime 18 LTS en hoger.
Zie Een Delta Lake-tabelfunctie verwijderen en het tabelprotocol degraderen.
Warning
Annuleer geen upgrade- of downgradebewerkingen tijdens het uitvoeren van ALTER- of DROP-instructies. Een onderbreking kan ertoe leiden dat de tabel in een gedeeltelijk geüpgradede of gedowngradede toestand blijft, waardoor deze wordt geblokkeerd voor alle toekomstige lees- en schrijfbewerkingen. Als u wilt terugkeren, voert u de juiste opdracht opnieuw uit in plaats van te annuleren. Neem contact op met databricks-ondersteuning als de tabel wordt vergrendeld.
Limitations
- Je kunt cataloguscommits niet aan- of uitschakelen op bestaande beheerde tabellen met
CREATE OR REPLACE TABLEofREPLACE TABLE. GebruikCREATE TABLEmet dedelta.feature.catalogManagedproperty om het aan te zetten bij het aanmaken van een managed table, ofALTER TABLEom het aan of uit te zetten op een bestaande managed table. - Catalogus-vastleggingen zijn niet compatibel met externe gegevenstoegang voor streamingtabellen of gematerialiseerde weergaven. Als u cataloguscommits wilt gebruiken, moet u eerst externe toegang uitschakelen. Zie Externe gegevenstoegang tot streamingtabellen en gerealiseerde weergaven inschakelen.
- Tabellen waarvoor catalogusdoorvoeringen zijn ingeschakeld, worden gedeeld via OpenSharing met behulp van vooraf ondertekende URL's in plaats van cloudtokens.
- Clusters met één gebruiker hebben geen toegang tot streamingtabellen waarvoor catalogusdoorvoeringen zijn ingeschakeld.