CREATE TABLE LIKE
Dotyczy: Databricks SQL Databricks Runtime
Definiuje tabelę przy użyciu definicji i metadanych istniejącej tabeli lub widoku.
Usługa Delta Lake obsługuje usługi CREATE TABLE LIKE
Databricks SQL i Databricks Runtime 13.3 LTS i nowsze.
W środowisku Databricks Runtime 12.2 LTS i poniżej użyj polecenia CREATE TABLE AS.
Składnia
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
JEŚLI NIE ISTNIEJE
Jeśli określono, ignoruje instrukcję , jeśli
table_name
już istnieje.-
Nazwa tabeli do utworzenia. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji. Jeśli nazwa nie jest kwalifikowana, tabela zostanie utworzona w bieżącym schemacie. Table_name nie może jeszcze istnieć.
-
Nazwa tabeli, której definicja jest kopiowana.
source_table_name
itable_name
muszą znajdować się w magazynie metadanych Programu Hive lub w katalogu aparatu Unity. table_clauses
Opcjonalnie określ format źródła danych, lokalizację i właściwości zdefiniowane przez użytkownika dla nowej tabeli. Każda klauzula podrzędna może być określona tylko raz.
ŚCIEŻKA LOKALIZACJI
Ścieżka do katalogu, w którym są przechowywane dane tabeli, co może być ścieżką do magazynu rozproszonego. Jeśli określisz lokalizację, nowa tabela stanie się tabelą zewnętrzną. Jeśli nie określisz lokalizacji, tabela jest tabelą zarządzaną.
Nie można tworzyć tabel zewnętrznych w lokalizacjach nakładających się na lokalizację zarządzanych tabel.
-
Opcjonalnie ustawia co najmniej jedną właściwość zdefiniowaną przez użytkownika.
UŻYWANIE data_source
Format pliku do użycia dla tabeli.
data_source
musi być jednym z:TEXT
CSV
JSON
JDBC
PARQUET
DELTA
Następujące dodatkowe formaty plików do użycia w tabeli są obsługiwane w środowisku Databricks Runtime:
ORC
HIVE
LIBSVM
- w pełni kwalifikowana nazwa klasy niestandardowej implementacji
org.apache.spark.sql.sources.DataSourceRegister
.
Jeśli nie określisz
USING
formatu tabeli źródłowej, zostanie odziedziczony.Dotyczy to następujących elementów: Databricks Runtime
HIVE
Program jest obsługiwany do tworzenia tabeli Usługi Hive SerDe w środowisku Databricks Runtime. Można określić specyficzne dlafile_format
programu Hive irow_format
użyćOPTIONS
klauzuli , która jest mapą ciągów bez uwzględniania wielkości liter. Otooption_keys
:FILEFORMAT
INPUTFORMAT
OUTPUTFORMAT
SERDE
FIELDDELIM
ESCAPEDELIM
MAPKEYDELIM
LINEDELIM
ROW_FORMAT FORMAT WIERSZA
Dotyczy: Databricks Runtime
Aby określić niestandardową metodę SerDe, ustaw
SERDE
na i określ w pełni kwalifikowaną nazwę klasy niestandardowego serde i opcjonalnych właściwości SerDe. Aby użyć natywnego serde, ustawDELIMITED
i określ ogranicznik, znak ucieczki, znak null itd.SERDEPROPERTIES
Lista par klucz-wartość używana do tagowania definicji SerDe.
POLA ZAKOŃCZONE PRZEZ
Zdefiniuj separator kolumny.
UCIECZKA PRZEZ
Zdefiniuj mechanizm ucieczki.
ELEMENTY KOLEKCJI ZAKOŃCZONE PRZEZ
Zdefiniuj separator elementu kolekcji.
MAPUJ KLUCZE ZAKOŃCZONE PRZEZ
Zdefiniuj separator klucza mapy.
WIERSZE ZAKOŃCZONE PRZEZ
Zdefiniuj separator wierszy.
WARTOŚĆ NULL ZDEFINIOWANA JAKO
Zdefiniuj konkretną wartość dla elementu
NULL
.PRZECHOWYWANE JAKO
Format pliku tabeli. Dostępne formaty obejmują
TEXTFILE
, ,SEQUENCEFILE
,ORC
RCFILE
,PARQUET
, iAVRO
. Alternatywnie można określić własne formaty wejściowe i wyjściowe za pomocą poleceńINPUTFORMAT
iOUTPUTFORMAT
. Tylko formatyTEXTFILE
,SEQUENCEFILE
iRCFILE
mogą być używane tylko z parametramiROW FORMAT SERDE
i można ich używać tylkoTEXTFILE
w programieROW FORMAT DELIMITED
.
Uwagi
W zależności od źródła danych i elementu docelowego nie wszystkie właściwości tabel mogą być przenoszone.
CREATE TABLE LIKE
gdy źródłem jest tabela usługi Delta Lake:
Funkcja/właściwość | Element docelowy jest tabelą inną niż delta | Element docelowy to tabela delty |
---|---|---|
KOMENTARZ | Tak | Tak |
Kolumny | Tak | Tak |
Partycjonowanie kolumn | Tak | Tak |
Konfigurowanie | Nie. | Tak |
Ograniczenie tabeli | Nie dotyczy | Tak |
Protokół delta | Nie dotyczy | Tak |
CREATE TABLE LIKE
gdy źródło nie jest tabelą usługi Delta Lake:
Funkcja/właściwość | Element docelowy jest tabelą inną niż delta | Element docelowy to tabela delty |
---|---|---|
KOMENTARZ | Tak | Tak |
Kolumny | Tak | Tak |
Partycjonowanie kolumn | Tak | Tak |
Konfigurowanie | Tak | Tak |
Ograniczenie tabeli | Nie. | Tak |
Protokół delta | Nie (bieżący protokół domyślny dla tej sesji) | Tak |
Przykłady
-- 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';