Ondiepe kloon voor Unity Catalog-tabellen
Belangrijk
Ondiepe kloonondersteuning voor beheerde unity-catalogustabellen bevindt zich in openbare preview in Databricks Runtime 13.3 en hoger. Ondiepe kloonondersteuning voor de externe tabel van Unity Catalog bevindt zich in openbare preview in Databricks Runtime 14.2 en hoger.
U kunt ondiepe kloon gebruiken om nieuwe Unity Catalog-tabellen te maken op basis van bestaande Unity Catalog-tabellen. Met ondiepe kloonondersteuning voor Unity Catalog kunt u tabellen maken met bevoegdheden voor toegangsbeheer, onafhankelijk van hun bovenliggende tabellen zonder dat u onderliggende gegevensbestanden hoeft te kopiëren.
Belangrijk
U kunt beheerde tabellen van Unity Catalog alleen klonen naar beheerde tabellen van Unity Catalog en externe unity-catalogustabellen naar externe tabellen van Unity Catalog. VACUUM
gedrag verschilt tussen beheerde en externe tabellen. Bekijk ondiepe kloonnen van Vacuum en Unity Catalog.
Zie Een tabel klonen in Azure Databricks voor meer informatie over Delta-kloon.
Zie Wat zijn tabellen en weergaven in Unity Catalog voor meer informatie over Unity Catalog-tabellen.
Een ondiepe kloon maken in Unity Catalog
U kunt een ondiepe kloon maken in Unity Catalog met dezelfde syntaxis die beschikbaar is voor ondiepe klonen in het hele product, zoals wordt weergegeven in het volgende syntaxisvoorbeeld:
CREATE TABLE <catalog-name>.<schema-name>.<target-table-name> SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>
Als u een ondiepe kloon in Unity Catalog wilt maken, moet u over voldoende bevoegdheden beschikken voor zowel de bron- als doelresources, zoals beschreven in de volgende tabel:
Bron | Vereiste machtigingen |
---|---|
Brontabel | SELECT |
Bronschema | USE SCHEMA |
Broncatalogus | USE CATALOG |
Doelschema | USE SCHEMA , CREATE TABLE |
Doelcatalogus | USE CATALOG |
Doel externe locatie (alleen externe tabellen) | CREATE EXTERNAL TABLE |
Net als bij andere create table-instructies is de gebruiker die een ondiepe kloon maakt de eigenaar van de doeltabel. De eigenaar van een gekloonde doeltabel kan de toegangsrechten voor die tabel onafhankelijk van de brontabel beheren.
Notitie
De eigenaar van een gekloonde tabel kan afwijken van de eigenaar van een brontabel.
Een ondiepe gekloonde tabel op Unity Catalog opvragen of wijzigen
Belangrijk
In de instructies in deze sectie worden de bevoegdheden beschreven die nodig zijn voor berekening die zijn geconfigureerd met de modus voor gedeelde toegang. Zie Werken met ondiepe gekloonde tabellen in de toegangsmodus voor één gebruiker voor de toegangsmodus voor één gebruiker.
Als u een ondiepe kloon wilt opvragen in Unity Catalog, moet u voldoende bevoegdheden hebben voor de tabel en resources bevatten, zoals beschreven in de volgende tabel:
Bron | Vereiste machtigingen |
---|---|
Catalogus | USE CATALOG |
Schema | USE SCHEMA |
Tabel | SELECT |
U moet ook machtigingen hebben MODIFY
voor het doel van de kloonbewerking om de volgende acties uit te voeren:
- Records invoegen
- Records verwijderen
- Records bijwerken
MERGE
CREATE OR REPLACE TABLE
DROP TABLE
Ondiepe kloonnen van Vacuum en Unity Catalog
Belangrijk
Dit gedrag bevindt zich in openbare preview in Databricks Runtime 13.3 LTS en hoger voor beheerde tabellen en Databricks Runtime 14.2 en hoger voor externe tabellen.
Wanneer u Unity Catalog-tabellen gebruikt voor de bron en het doel van een ondiepe kloonbewerking, beheert Unity Catalog de onderliggende gegevensbestanden om de betrouwbaarheid voor de bron en het doel van de kloonbewerking te verbeteren. Als deze wordt uitgevoerd VACUUM
op de bron van een ondiepe kloon, wordt de gekloonde tabel niet verbroken.
Normaal gesproken wordt bij VACUUM
het identificeren van geldige bestanden voor een bepaalde retentiedrempel alleen de metagegevens voor de huidige tabel overwogen. Ondiepe kloonondersteuning voor Unity Catalog houdt de relaties tussen alle gekloonde tabellen en de brongegevensbestanden bij. Geldige bestanden worden dus uitgebreid met gegevensbestanden die nodig zijn voor het retourneren van query's voor ondiepe gekloonde tabellen en de brontabel.
Dit betekent dat voor ondiepe kloonsemantiek VACUUM
van Unity Catalog een geldig gegevensbestand een bestand is binnen de opgegeven bewaardrempel voor de brontabel of een gekloonde tabel. Beheerde tabellen en externe tabellen hebben iets andere semantiek.
Deze verbeterde tracering van metagegevens verandert hoe VACUUM
bewerkingen van invloed zijn op gegevensbestanden die back-ups maken van de Delta-tabellen, met de volgende semantiek:
- Voor beheerde tabellen
VACUUM
kunnen bewerkingen op basis van de bron of het doel van een ondiepe kloonbewerking gegevensbestanden uit de brontabel verwijderen. - Voor externe tabellen
VACUUM
verwijderen bewerkingen alleen gegevensbestanden uit de brontabel wanneer ze worden uitgevoerd op basis van de brontabel. - Alleen gegevensbestanden die niet als geldig worden beschouwd voor de brontabel of een ondiepe kloon tegen de bron worden verwijderd.
- Als er meerdere ondiepe klonen zijn gedefinieerd op basis van één brontabel,
VACUUM
worden geldige gegevensbestanden voor andere gekloonde tabellen niet verwijderd op een van de gekloonde tabellen.
Notitie
Databricks raadt aan nooit te worden uitgevoerd VACUUM
met een bewaarinstelling van minder dan 7 dagen om te voorkomen dat lopende langlopende transacties beschadigd raken. Als u wilt uitvoeren VACUUM
met een lagere retentiedrempel, moet u weten hoe VACUUM
ondiepe klonen in Unity Catalog verschillen van de VACUUM
interactie met andere gekloonde tabellen in Azure Databricks. Zie Een tabel klonen in Azure Databricks.
Werken met ondiepe gekloonde tabellen in de toegangsmodus voor één gebruiker
Wanneer u werkt met ondiepe kloonnen van Unity Catalog in de toegangsmodus voor één gebruiker, moet u machtigingen hebben voor de resources voor de gekloonde tabelbron en de doeltabel.
Dit betekent dat u voor eenvoudige query's naast de vereiste machtigingen voor de doeltabel machtigingen moet hebben USE
voor de broncatalogus en het schema en SELECT
machtigingen voor de brontabel. Voor query's die records bijwerken of invoegen in de doeltabel, moet u ook machtigingen hebben MODIFY
voor de brontabel.
Databricks raadt aan om te werken met Unity Catalog-klonen op rekenproces met de modus voor gedeelde toegang, omdat dit onafhankelijke evolutie van machtigingen voor ondiepe kloondoelen van Unity Catalog en hun brontabellen mogelijk maakt.
Beperkingen
- Ondiepe klonen op externe tabellen moeten externe tabellen zijn. Ondiepe klonen op beheerde tabellen moeten beheerde tabellen zijn.
- U kunt geen ondiepe klonen delen met Delta Sharing.
- U kunt ondiepe kloons niet nesten, wat betekent dat u geen ondiepe kloon van een ondiepe kloon kunt maken.
- Bij beheerde tabellen breekt het verwijderen van de brontabel de doeltabel af voor ondiepe klonen. Gegevensbestanden die externe tabellen maken, worden niet verwijderd door
DROP TABLE
bewerkingen en dus worden ondiepe klonen van externe tabellen niet beïnvloed door de bron te verwijderen. - Met Unity Catalog kunnen gebruikers
UNDROP
gedurende ongeveer 7 dagen na eenDROP TABLE
opdracht tabellen beheren. In Databricks Runtime 13.3 LTS en hoger blijven beheerde ondiepe klonen werken op basis van een verwijderde beheerde tabel gedurende deze periode van 7 dagen. Als u de brontabel in dit venster nietUNDROP
gebruikt, werkt de ondiepe kloon niet meer zodra de gegevensbestanden van de brontabel zijn verzameld.