CLONE (Delta Lake i Azure Databricks)

Anteckning

Tillgängligt i Databricks Runtime 7,2 och senare.

Klonar en käll delta tabell till ett mål mål i en angiven version. En klon kan vara antingen djup eller lite: djup kloner kopiera data från käll-och ytliga kloner.

Viktigt

Det finns viktiga skillnader mellan ytliga och djup kloner som kan fastställa hur du bäst använder dem. Se klona en delta tabell.

Syntax

CREATE TABLE [IF NOT EXISTS] target_table_identifier
[SHALLOW | DEEP] CLONE source_table_identifier [<time_travel_version>]
[LOCATION 'path']
[TBLPROPERTIES (
  'prop1' = 'value1',
  ...
)]
[CREATE OR] REPLACE TABLE target_table_identifier
[SHALLOW | DEEP] CLONE source_table_identifier [<time_travel_version>]
[LOCATION 'path']
[TBLPROPERTIES (
  'prop1' = 'value1',
  ...
)]
  • table_identifier
    • [database_name.] table_name: Ett tabell namn, eventuellt kvalificerat med ett databas namn.
    • delta.`<path-to-table>`: Platsen för en befintlig delta tabell.

var

<time_travel_version>  =
  TIMESTAMP AS OF timestamp_expression |
  VERSION AS OF version
  • Ange CREATE IF NOT EXISTS för att undvika att skapa en tabell target_table om det redan finns en tabell. Om det redan finns en tabell på målet är klonings åtgärden ingen-op.
  • Ange CREATE OR REPLACE om du vill ersätta målet för en kloning-åtgärd om det finns en befintlig tabell target_table . Detta uppdaterar metaarkiv med den nya tabellen om tabell namnet används.
  • Om du inte anger SHALLOW eller DEEP , skapas en djup kloning som standard.
  • LOCATION skapar en extern tabell med den angivna platsen som den sökväg där data lagras. Om målet är en sökväg i stället för ett tabell namn går det inte att utföra åtgärden.

Exempel

Du kan använda CLONE för komplexa åtgärder, t. ex. datamigrering, data arkivering, återställning av maskin inlärning, kortsiktiga experiment, data delning och så vidare. Se klona användnings fall för några exempel.