Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime
Definierar en tabell med hjälp av definitionen och metadata för en befintlig tabell.
Delta Lake stöder CREATE TABLE LIKE databricks SQL och Databricks Runtime 13.3 LTS och senare.
I Databricks Runtime 12.2 LTS och nedan använder du 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 }
Parametrar
OM INTE FINNS
Om det anges ignoreras -instruktionen om den
table_nameredan finns.-
Namnet på tabellen som ska skapas. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation. Om namnet inte är kvalificerat skapas tabellen i det aktuella schemat. En table_name får inte redan finnas.
-
Namnet på den tabell vars definition kopieras.
source_table_nameochtable_namemåste båda finnas i Hive-metaarkivet, eller båda finnas i Unity Catalog. table_clauses
Du kan också ange datakällans format, plats och användardefinierade egenskaper för den nya tabellen. Varje undersats kan bara anges en gång.
PLATSsökväg
Sökväg till katalogen där tabelldata lagras, vilket kan vara en sökväg för distribuerad lagring. Om du anger en plats blir den nya tabellen en extern tabell. Om du inte anger någon plats är tabellen en hanterad tabell.
Du kan inte skapa externa tabeller på platser som överlappar platsen för hanterade tabeller.
-
Du kan också ange en eller flera användardefinierade egenskaper.
ANVÄNDA data_source
Det filformat som ska användas för tabellen.
data_sourcemåste vara något av följande:TEXTCSVJSONJDBCPARQUETDELTA
Följande ytterligare filformat som ska användas för tabellen stöds i Databricks Runtime:
ORCHIVELIBSVM- ett fullständigt kvalificerat klassnamn för en anpassad implementering av
org.apache.spark.sql.sources.DataSourceRegister.
Om du inte anger
USINGformatet för källtabellen ärvs.Följande gäller för: Databricks Runtime
HIVEstöds för att skapa en Hive SerDe-tabell i Databricks Runtime. Du kan ange Hive-specifikfile_formatochrow_formatanvändaOPTIONS-satsen, som är en skiftlägeskänslig strängkarta. Äroption_keys:FILEFORMATINPUTFORMATOUTPUTFORMATSERDEFIELDDELIMESCAPEDELIMMAPKEYDELIMLINEDELIM
RADFORMAT row_format
Gäller för:
Databricks RuntimeOm du vill ange en anpassad SerDe anger du till
SERDEoch anger det fullständigt kvalificerade klassnamnet för en anpassad SerDe och valfria SerDe-egenskaper. Om du vill använda den inbyggda SerDe anger du tillDELIMITEDoch anger avgränsare, escape-tecken, null-tecken och så vidare.SERDEPROPERTIES
En lista över nyckel/värde-par som används för att tagga SerDe-definitionen.
FÄLT SOM AVSLUTATS AV
Definiera en kolumnavgränsare.
ESCAPE BY
Definiera escape-mekanismen.
SAMLINGSOBJEKT AVSLUTADE AV
Definiera en avgränsare för samlingsobjekt.
MAP-NYCKLAR AVSLUTADES AV
Definiera en mappningsnyckelavgränsare.
RADER SOM AVSLUTATS AV
Definiera en radavgränsare.
NULL DEFINIERAT SOM
Definiera det specifika värdet för
NULL.LAGRAD SOM
Filformatet för tabellen. Tillgängliga format är
TEXTFILE, ,SEQUENCEFILERCFILE,ORC,PARQUETochAVRO. Du kan också ange egna in- och utdataformat viaINPUTFORMATochOUTPUTFORMAT. Endast formatTEXTFILE,SEQUENCEFILEochRCFILEkan användas medROW FORMAT SERDEoch kan endastTEXTFILEanvändas medROW FORMAT DELIMITED.
Kommentar
Beroende på datakällan och målet kan inte alla egenskaper för tabeller överföras.
CREATE TABLE LIKEnär källan är en Delta Lake-tabell:
| Funktion/egenskap | Målet är en tabell som inte är delta | Målet är en deltatabell |
|---|---|---|
| COMMENT | Ja | Ja |
| Kolumner | Ja | Ja |
| Partitionskolumner | Ja | Ja |
| Konfiguration | Nej | Ja |
| Tabellvillkor | Inte tillämpligt | Ja |
| Deltaprotokoll | Inte tillämpligt | Ja |
CREATE TABLE LIKEnär källan inte är en Delta Lake-tabell:
| Funktion/egenskap | Målet är en tabell som inte är delta | Målet är en deltatabell |
|---|---|---|
| COMMENT | Ja | Ja |
| Kolumner | Ja | Ja |
| Partitionskolumner | Ja | Ja |
| Konfiguration | Ja | Ja |
| Tabellvillkor | Nej | Ja |
| Deltaprotokoll | Nej (aktuellt standardprotokoll för den sessionen) | Ja |
Exempel
-- 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';