CREATE TABLE LIKE

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Egy meglévő tábla definícióját és metaadatait használó táblát definiál.

A Delta Lake támogatja CREATE TABLE LIKE a Databricks SQL és a Databricks Runtime 13.3 LTS és újabb verzióját. A Databricks Runtime 12.2 LTS és korábbi verziókban használja CREATE TABLE AS.

Syntax

CREATE TABLE [ IF NOT EXISTS ] table_name LIKE source_table_name [table_clauses]

table_clauses
   { USING data_source |
     LOCATION path |
     TBLPROPERTIES clause |
     ROW FORMAT row_format |
     STORED AS file_format } [...]

row_format
   { SERDE serde_class [ WITH SERDEPROPERTIES (serde_key = serde_val [, ...] ) ] |
     { DELIMITED [ FIELDS TERMINATED BY fields_terminated_char [ ESCAPED BY escaped_char ] ]
       [ COLLECTION ITEMS TERMINATED BY collection_items_terminated_char ]
       [ MAP KEYS TERMINATED BY map_key_terminated_char ]
       [ LINES TERMINATED BY row_terminated_char ]
       [ NULL DEFINED AS null_char ] } }

property_key
  { identifier [. ...] | string_literal }

Paraméterek

  • HA NEM LÉTEZIK

    Ha a megadott érték figyelmen kívül hagyja az utasítást, ha az table_name már létezik.

  • table_name

    A létrehozni kívánt tábla neve. A név nem tartalmazhat időbeli specifikációt vagy beállításspecifikációt. Ha a név nincs minősítve, a tábla az aktuális sémában jön létre. A table_name nem létezhet még.

  • source_table_name

    Annak a táblának a neve, amelynek definícióját átmásolja a program. source_table_name és table_name mindkettőnek a Hive metaadattárában kell lennie, vagy mindkettőnek a Unity Katalógusban kell lennie.

  • table_clauses

    Megadhat adatforrásformátumot, helyet és felhasználó által definiált tulajdonságokat az új táblához. Minden al záradék csak egyszer adható meg.

    • HELY elérési útja

      A táblaadatok tárolására szolgáló könyvtár elérési útja, amely az elosztott tároló elérési útja lehet. Ha megad egy helyet, az új tábla külső táblává válik. Ha nem ad meg helyet, a tábla egy felügyelt tábla.

      Nem hozhat létre külső táblákat olyan helyeken, amelyek átfedésben vannak a felügyelt táblák helyével.

    • TBLPROPERTIES

      Igény szerint beállíthat egy vagy több felhasználó által definiált tulajdonságot.

    • DATA_SOURCE HASZNÁLATA

      A tábla fájlformátuma. data_source A következő egyiknek kell lennie:

      • TEXT
      • CSV
      • JSON
      • JDBC
      • PARQUET
      • DELTA

      A Databricks Runtime a következő további fájlformátumokat támogatja a táblához:

      • ORC
      • HIVE
      • LIBSVM
      • a . egyéni implementációjának org.apache.spark.sql.sources.DataSourceRegisterteljes osztályneve.

      Ha nem adja meg USING a forrástábla formátumát, a rendszer örökli.

      A következőkre vonatkozik: Databricks Runtime

      HIVE a Databricks Runtime-ban támogatott Hive SerDe-tábla létrehozása. Megadhatja a Hive-specifikus file_format és a row_format záradékot, amely egy kis- és OPTIONS nagybetűket megkülönböztető sztringtérkép. A option_keys következők:

      • FILEFORMAT
      • INPUTFORMAT
      • OUTPUTFORMAT
      • SERDE
      • FIELDDELIM
      • ESCAPEDELIM
      • MAPKEYDELIM
      • LINEDELIM
    • SORFORMÁTUM ROW_FORMAT

      A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

      Egyéni SerDe megadásához SERDE állítsa be és adja meg az egyéni SerDe és az opcionális SerDe-tulajdonságok teljes osztálynevét. A natív SerDe használatához állítsa be DELIMITED és adja meg az elválasztó karaktert, a escape karaktert, a null karaktert stb.

      • SERDEPROPERTIES

        A SerDe-definíció címkézéséhez használt kulcs-érték párok listája.

      • A MEZŐK LEÁLLÍTOTT

        Oszlopelválasztó definiálása.

      • MEGMENEKÜLT

        Határozza meg a feloldó mechanizmust.

      • A GYŰJTEMÉNYELEMEK LEÁLLÍTOTT

        Gyűjteményelem-elválasztó definiálása.

      • A LEKÉPEZÉSI KULCSOK LEÁLLÍTOTT

        Térképkulcs-elválasztó definiálása.

      • A SOROKAT MEGSZAKÍTOTTA:

        Sorelválasztó definiálása.

      • NULL ÉRTÉK DEFINIÁLVA

        Adja meg a megadott értéket a következőhöz NULL: .

      • TÁROLÁS MÁSKÉNT

        A tábla fájlformátuma. Az elérhető formátumok a következők: TEXTFILE, SEQUENCEFILE, RCFILE, ORC, PARQUETés AVRO. Másik lehetőségként megadhatja a saját bemeneti és kimeneti formátumait INPUTFORMATOUTPUTFORMATis. Csak formátumokTEXTFILE, SEQUENCEFILEés RCFILE csak a formátumokkal ROW FORMAT SERDETEXTFILEhasználható.ROW FORMAT DELIMITED

Jegyzetek

Az adatforrástól és a céltól függően a táblák nem minden tulajdonsága továbbítható.

CREATE TABLE LIKE ha a forrás egy Delta Lake-tábla:

Funkció/tulajdonság A cél nem delta tábla A cél egy Delta-tábla
MEGJEGYZÉST Igen Igen
Oszlopok Igen Igen
Partícióoszlopok Igen Igen
Konfiguráció Nem Igen
Táblamegkötés Nem alkalmazható Igen
Delta Protocol Nem alkalmazható Igen
Sorszűrők Nem Nem
Oszlopmaszkok Nem Nem
Szabályozott címkék Nem Nem

CREATE TABLE LIKE ha a forrás nem Delta Lake-tábla:

Funkció/tulajdonság A cél nem delta tábla A cél egy Delta-tábla
MEGJEGYZÉST Igen Igen
Oszlopok Igen Igen
Partícióoszlopok Igen Igen
Konfiguráció Igen Igen
Táblamegkötés Nem Igen
Delta Protocol Nem (az adott munkamenet aktuális alapértelmezett protokollja) Igen
Sorszűrők Nem Nem
Oszlopmaszkok Nem Nem
Szabályozott címkék Nem Nem

Important

CREATE TABLE LIKE nem irányítja át a hozzáférés-vezérlőket a forrástáblából. Csak a forrástábla sémájával és metaadataival rendelkező új táblát hoz létre.

A következő hozzáférés-vezérlők nem kerülnek át az új táblába:

Az új tábla létrehozása után adjon hozzá minden szükséges sorszűrőt, oszlopmaszkot és szabályzott címkét.

Példák

-- Create table using a new location
> CREATE TABLE Student_Dupli LIKE Student LOCATION '/path/to/data_files';

-- Create table like using a data source
> CREATE TABLE Student_Dupli LIKE Student USING CSV LOCATION '/path/to/csv_files';