CREATE TABLE LIKE
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Egy meglévő tábla vagy nézet definícióját és metaadatait használó táblát határoz meg.
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-ben és az alábbi verziókban használja a CREATE TABLE AS parancsot.
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.-
A létrehozni kívánt tábla neve. A név nem tartalmazhat időbeli specifiká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.
-
Annak a táblának a neve, amelynek definícióját átmásolja a program.
source_table_name
éstable_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.
-
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.DataSourceRegister
teljes 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-specifikusfile_format
és aOPTIONS
záradékot, amely egy kis- ésrow_format
nagybetűket megkülönböztető sztringtérkép. Aoption_keys
következők:FILEFORMAT
INPUTFORMAT
OUTPUTFORMAT
SERDE
FIELDDELIM
ESCAPEDELIM
MAPKEYDELIM
LINEDELIM
SORFORMÁTUM ROW_FORMAT
A következőkre vonatkozik: 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 beDELIMITED
és adja meg az elválasztó karaktert, a escape karaktert, a null karaktert stb.Standard kiadás RDEPROPERTIES
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
ésAVRO
. Másik lehetőségként megadhatja a saját bemeneti és kimeneti formátumaitINPUTFORMAT
OUTPUTFORMAT
is. Csak formátumokTEXTFILE
,SEQUENCEFILE
ésRCFILE
csak a formátumokkalROW FORMAT SERDE
ROW FORMAT DELIMITED
használható.TEXTFILE
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 |
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 |
Példák
-- Create table using a new location
> CREATE TABLE Student_Dupli LIKE Student LOCATION '/mnt/data_files';
-- Create table like using a data source
> CREATE TABLE Student_Dupli LIKE Student USING CSV LOCATION '/mnt/csv_files';