Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Belangrijk
Ondiepe kloonondersteuning voor beheerde Unity Catalog-tabellen is beschikbaar 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 tabellen van Unity Catalog 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 het klonen van een tabel.
Zie Azure Databricks-tabellen 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:
| Hulpbron | Benodigde toestemmingen |
|---|---|
| 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 instructies om tabellen te maken, is de gebruiker die een ondiepe kloon aanmaakt de eigenaar van de doeltabel. De eigenaar van een doeltabel die is gekloond 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 standaardtoegangsmodus (voorheen gedeelde toegangsmodus). Zie voor de toegewezen toegangsmodus (voorheen de modus voor toegang van één gebruiker) Werken met ondiepe gekloonde tabellen in de toegewezen toegangsmodus.
Als u een ondiepe kloon wilt opvragen in Unity Catalog, moet u voldoende bevoegdheden hebben voor de tabel en de betreffende resources, zoals beschreven in de volgende tabel:
| Hulpbron | Vereiste toestemmingen |
|---|---|
| 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
- Gegevens verwijderen
- Records bijwerken
MERGECREATE TABLEDROP 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. Het uitvoeren van VACUUM op de bron van een ondiepe kloon, zorgt ervoor dat de gekloonde tabel niet beschadigd raakt.
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 tabellen, met de volgende semantiek:
- Voor beheerde tabellen kunnen bewerkingen tegen de bron of het doel van een oppervlakkige kloonbewerking gegevensbestanden uit de brontabel verwijderen.
- Voor externe tabellen
VACUUMverwijderen 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 van de bron worden verwijderd.
- Als er meerdere ondiepe klonen zijn gedefinieerd op basis van één brontabel, wordt
VACUUMuitgevoerd op een gekloonde tabel, waarbij geldige gegevensbestanden voor andere gekloonde tabellen niet worden verwijderd.
Notitie
Databricks raadt aan om VACUUM nooit uit te voeren met een bewaarinstelling van minder dan 7 dagen om te voorkomen dat lopende langetermijntransacties worden beschadigd. Als u VACUUM wilt uitvoeren met een lagere retentiedrempel, moet u begrijpen hoe VACUUM op ondiepe klonen in Unity Catalog verschilt van de interactie van VACUUM met andere gekloonde tabellen in Azure Databricks. Zie Een tabel klonen op Azure Databricks.
Werken met ondiepe gekloonde tabellen in de toegewezen toegangsmodus
Wanneer u werkt met ondiepe klonen van Unity Catalog in de toegewezen toegangsmodus, 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 een rekenwerkplek met de standaardtoegangsmodus, omdat dit een onafhankelijke ontwikkeling van machtigingen voor de shallow clone-doelen van Unity Catalog en hun brontabellen mogelijk maakt.
Verwijder de basistabel voor een ondiepe kloon
Als de basistabel van een ondiepe kloon wordt verwijderd, wordt de kloon onbruikbaar. Standaard blokkeert Databricks het verwijderen van een basistabel als er nog steeds ondiepe kloons naar verwijzen.
Als u deze beveiliging wilt overschrijven, gebruikt u de DROP TABLE ... FORCE syntaxis. Als u het volgende gebruikt FORCE:
- De basistabel wordt onmiddellijk verwijderd.
- Alle verwijzingen naar ondiepe klonen worden verbroken en:
- Mislukte bewerkingen waarvoor het lezen van gegevens of metagegevens is vereist (bijvoorbeeld
SELECT,INSERTUPDATE,DESCRIBE HISTORY, ).CLONE - Zijn nog steeds zichtbaar via bewerkingen op metagegevensniveau (bijvoorbeeld
SHOW TABLES,DROP TABLE) om opschoning toe te staan.
- Mislukte bewerkingen waarvoor het lezen van gegevens of metagegevens is vereist (bijvoorbeeld
Dit gedrag is alleen van toepassing op beheerde tabellen van Unity Catalog.
Zie DROP TABLE.
Beperkingen
- Ondiepe klonen van externe tabellen moeten ook externe tabellen zijn. Ondiepe klonen van beheerde tabellen moeten beheerde tabellen zijn.
- U kunt
REPLACEofCREATE OR REPLACEniet gebruiken om een bestaande ondiepe kloon te overschrijven. In plaats daarvanDROPde ondiepe kloon en voert u een nieuweCREATE-instructie uit. - 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 verstoort het verwijderen van de brontabel de werking van de doeltabel voor shallow clones. Gegevensbestanden die externe tabellen ondersteunen, worden niet verwijderd door
DROP TABLE-bewerkingen, en zodoende worden ondiepe klonen van externe tabellen niet beïnvloed door het verwijderen van de bron. - Met Unity Catalog kunnen gebruikers
UNDROPgedurende ongeveer 7 dagen na eenDROP TABLEopdracht 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 nietUNDROPgebruikt, houdt de shallow clone op te werken zodra de gegevensbestanden van de brontabel worden opgeruimd.