Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Definuje tabulku pomocí definice a metadat existující tabulky.
Delta Lake podporuje CREATE TABLE LIKE databricks SQL a Databricks Runtime 13.3 LTS a vyšší.
V Databricks Runtime 12.2 LTS a níže použijte CREATE TABLE AS.
Syntaxe
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 }
Parametry
POKUD NEEXISTUJE
Pokud je zadaný příkaz ignorován, pokud
table_namejiž existuje.-
Název tabulky, která se má vytvořit. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud název není kvalifikovaný, vytvoří se tabulka v aktuálním schématu. Table_name již nesmí existovat.
-
Název tabulky, jejíž definice se zkopíruje.
source_table_nameitable_namemusí být v metastoru Hive nebo oba musí být v katalogu Unity. table_clauses
Volitelně můžete zadat formát zdroje dat, umístění a vlastnosti definované uživatelem pro novou tabulku. Každou dílčí klauzuli lze zadat pouze jednou.
Cesta k umístění
Cesta k adresáři, kde jsou uložena data tabulky, což může být cesta v distribuovaném úložišti. Pokud zadáte umístění, nová tabulka se stane externí tabulkou. Pokud nezadáte umístění, tabulka je spravovaná.
V umístěních, která se překrývají s umístěním spravovaných tabulek, nelze vytvořit externí tabulky.
-
Volitelně nastaví jednu nebo více uživatelem definovaných vlastností.
POUŽITÍ data_source
Formát souboru, který se má použít pro tabulku.
data_sourcemusí být jedna z těchto možností:TEXTCSVJSONJDBCPARQUETDELTA
Databricks Runtime podporují následující další formáty souborů, které se mají použít pro tabulku:
ORCHIVELIBSVM- plně kvalifikovaný název třídy vlastní implementace
org.apache.spark.sql.sources.DataSourceRegister.
Jestliže nezadáte
USING, zdědí se formát zdrojové tabulky.Toto se vztahuje na: Databricks Runtime
HIVEpodporuje vytváření tabulek Hive SerDe v Databricks Runtime. Můžete zadat Hive specifickéfile_formatarow_formatpoužítOPTIONSklauzuli, což je mapa řetězců bez rozlišování malých a velkých písmen. Jedná se ooption_keys:FILEFORMATINPUTFORMATOUTPUTFORMATSERDEFIELDDELIMESCAPEDELIMMAPKEYDELIMLINEDELIM
FORMÁT ŘÁDKU row_format
Platí pro:
Databricks RuntimeChcete-li zadat vlastní SerDe, nastavte na
SERDEa zadejte plně kvalifikovaný název třídy vlastní SerDe a volitelné vlastnosti SerDe. Pokud chcete použít nativní SerDe, nastavte naDELIMITEDa zadejte oddělovač, řídicí znak, znak null atd.SERDEPROPERTIES
Seznam párů klíč-hodnota použitých k označení definice SerDe.
POLE UKONČENA UŽIVATELEM
Definujte oddělovač sloupců.
ÚTĚK OD
Definujte řídicí mechanismus.
POLOŽKY KOLEKCE UKONČENÉ UŽIVATELEM
Definujte oddělovač položek kolekce.
MAPOVÉ KLÍČE UKONČENÉ POMOCÍ
Definujte oddělovač klíčů mapy.
ŘÁDKY UKONČENÉ UŽIVATELEM
Definujte oddělovač řádků.
HODNOTA NULL DEFINOVANÁ JAKO
Definujte konkrétní hodnotu pro
NULL.ULOŽENO JAKO
Formát souboru tabulky. Dostupné formáty zahrnují
TEXTFILE, ,SEQUENCEFILERCFILE,ORC,PARQUET, aAVRO. Alternativně můžete zadat vlastní vstupní a výstupní formáty prostřednictvímINPUTFORMATaOUTPUTFORMAT. Pouze formátyTEXTFILE,SEQUENCEFILEaRCFILElze použít sROW FORMAT SERDEa pouzeTEXTFILEsROW FORMAT DELIMITED.
Notes
V závislosti na zdroji dat a cíli nelze přenést všechny vlastnosti tabulek.
CREATE TABLE LIKE, když je zdroj tabulka Delta Lake:
| Funkce/vlastnost | Cíl je tabulka, která není delta. | Cíl je tabulka Delta. |
|---|---|---|
| COMMENT | Ano | Ano |
| Sloupce | Ano | Ano |
| Sloupce oddílů | Ano | Ano |
| Konfigurace | No | Ano |
| Omezení tabulky | Neuvedeno | Ano |
| Delta Protocol | Neuvedeno | Ano |
CREATE TABLE LIKE když zdroj není tabulka Delta Lake:
| Funkce/vlastnost | Cíl je tabulka, která není delta. | Cíl je tabulka Delta. |
|---|---|---|
| COMMENT | Ano | Ano |
| Sloupce | Ano | Ano |
| Sloupce oddílů | Ano | Ano |
| Konfigurace | Ano | Ano |
| Omezení tabulky | No | Ano |
| Delta Protocol | Ne (aktuální výchozí protokol pro danou relaci) | Ano |
Příklady
-- 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';