Share via


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 Tabellen maken 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 een DROP 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 niet UNDROP gebruikt, werkt de ondiepe kloon niet meer zodra de gegevensbestanden van de brontabel zijn verzameld.