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.
Van toepassing op:
Databricks SQL
Databricks Runtime
Kloont een Delta-bron of beheerde Apache Iceberg- of Apache Parquet-tabel naar een doellocatie van een bepaalde versie. Klonen kan diep of ondiep zijn: diepe klonen kopiëren de gegevens, terwijl ondiepe kloons verwijzen naar de brongegevens zonder deze te kopiëren.
- Delta-, Parquet- en Foreign Iceberg-tabellen ondersteunen zowel diepe als ondiepe kloon.
- Beheerde Iceberg-tabellen ondersteunen alleen diep klonen en u kunt de tabelindeling niet wijzigen tijdens het klonen.
Voor meer informatie, zie Parquet- en Apache Iceberg-tabellen incrementeel klonen naar Delta Lake.
In Databricks SQL en Databricks Runtime 13.3 LTS en hoger kunt u ondiepe kloon gebruiken met beheerde tabellen van Unity Catalog. In Databricks Runtime 12.2 LTS en hieronder is er geen ondersteuning voor ondiepe klonen in Unity Catalog. Zie Ondiepe kopie voor Unity Catalog-tabellen.
Belangrijk
Er zijn belangrijke verschillen tussen ondiepe en diepe klonen die kunnen bepalen hoe u ze het beste kunt gebruiken. Zie Een tabel klonen in Azure Databricks.
Note
Streamingtabellen en gerealiseerde weergaven worden niet ondersteund als bron- of doeltabellen voor CLONE. Zie beperkingen voor streamingtabellen en gerealiseerde weergavebeperkingen.
Syntaxis
CREATE TABLE [IF NOT EXISTS] table_name
[SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]
[CREATE OR] REPLACE TABLE table_name
[SHALLOW | DEEP] CLONE source_table_name [TBLPROPERTIES clause] [LOCATION path]
Parameterwaarden
ALS NIET BESTAAT
Indien gespecificeerd, wordt de verklaring genegeerd als
table_nameal bestaat.[AANMAKEN OF] VERVANGEN
Als
CREATE ORis opgegeven, wordt de tabel vervangen als deze bestaat en nieuw is gemaakt als dat niet het geval is. ZonderCREATE ORmoet detable_namebestaan.-
De naam van de tabel die moet worden gemaakt. De naam mag geen tijdelijke specificatie of optiesspecificatie bevatten. Als de naam niet is gekwalificeerd, wordt de tabel gemaakt in het huidige schema.
table_namemag niet al bestaan, tenzijREPLACEofIF NOT EXISTSis opgegeven. ONDIEPE KLOON of DIEPE KLOON
Als u
SHALLOW CLONEAzure Databricks specificeert, maakt het een kopie van de definitie van de brontabel, maar verwijst naar de bestanden van de brontabel. Wanneer uDEEP CLONE(standaard) specificeert, maakt Azure Databricks een volledige, onafhankelijke kopie van de brontabel.Beheerde Iceberg-tabellen ondersteunen alleen diep klonen, niet ondiep klonen.
-
De naam van de tabel die moet worden gekloond. De naam kan een tijdelijke specificatie of optiesspecificatie bevatten.
-
U kunt desgewenst een of meer door de gebruiker gedefinieerde eigenschappen instellen.
LOCATIEpad
U kunt eventueel een externe tabel maken, met de opgegeven locatie als het pad waar de gegevens worden opgeslagen. Als
table_namezelf een pad is in plaats van een tabel-id, mislukt de bewerking.pathmoet een letterlijke string zijn.
Voorbeelden
Diepe kloon en ondiepe kloon van een Delta Lake-tabel:
-- Deep clone: copies data and metadata
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
-- Shallow clone: copies metadata only, references source data files
CREATE TABLE target_catalog.target_schema.target_table
SHALLOW CLONE source_catalog.source_schema.source_table;
Diepe kloon van een beheerde Iceberg-tabel (alleen diepe kloon wordt ondersteund):
CREATE TABLE target_catalog.target_schema.target_table
DEEP CLONE source_catalog.source_schema.source_table;
Zie Een tabel klonen op Azure Databricks voor meer voorbeelden van Delta Lake-kloonvoorbeelden, waaronder gegevensarchivering en ML-werkstromen. Zie Clone a managed Iceberg table (Een beheerde Iceberg-tabel klonen) voor meer beheerde IJsberg-kloonvoorbeelden.
Limitations
- In Unity Catalog kunt u
CREATE OR REPLACEniet gebruiken om een bestaande ondiepe kloon te overschrijven. GebruikDROP TABLEgevolgd doorCREATE TABLEof gebruik een nieuwe tabelnaam. Zie Beperkingen.