Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Menentukan tabel menggunakan definisi dan metadata tabel yang sudah ada.
Delta Lake memang mendukung CREATE TABLE LIKE dalam Databricks SQL dan Databricks Runtime 13.3 LTS ke atas.
Di Databricks Runtime 12.2 LTS dan di bawahnya, gunakan CREATE TABLE AS.
Sintaks
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 }
Parameter
JIKA TIDAK ADA
Jika ditentukan, mengabaikan pernyataan jika
table_namesudah ada.-
Nama tabel yang akan dibuat. Nama tidak boleh menyertakan spesifikasi temporal atau spesifikasi opsi. Jika nama tidak memenuhi syarat, tabel dibuat dalam skema saat ini. Sebuah table_nama tidak harus ada.
-
Nama tabel yang definisinya disalin.
source_table_namedantable_nameharus berada di metastore Apache Hive, atau keduanya berada di Katalog Unity. table_clauses
Secara opsional tentukan format sumber data, lokasi, dan properti yang ditentukan pengguna untuk tabel baru. Setiap sub klausul hanya dapat ditentukan satu kali.
Jalur LOKASI
Jalur ke direktori tempat data tabel disimpan, yang bisa menjadi jalur pada penyimpanan terdistribusi. Jika Anda menentukan lokasi, tabel baru menjadi tabel eksternal . Jika Anda tidak menentukan lokasi, tabel adalah tabel terkelola .
Anda tidak dapat membuat tabel eksternal di lokasi yang tumpang tindih dengan lokasi tabel terkelola.
-
Secara opsional, atur satu atau beberapa properti yang ditentukan pengguna.
MENGGUNAKAN data_source
Format file yang digunakan untuk tabel.
data_sourceharus salah satu dari:TEXTCSVJSONJDBCPARQUETDELTA
Format file tambahan berikut yang akan digunakan untuk tabel didukung dalam Databricks Runtime:
ORCHIVELIBSVM- nama kelas yang sepenuhnya memenuhi syarat dari implementasi kustom
org.apache.spark.sql.sources.DataSourceRegister.
Jika Anda tidak menentukan
USINGformat tabel sumber akan diwariskan.Berikut ini berlaku untuk: Databricks Runtime
HIVEdidukung dalam pembuatan tabel Apache Hive SerDe di Databricks Runtime. Anda dapat menentukan Apache Hivefile_formatdanrow_formatmenggunakanOPTIONSklausul, yang merupakan peta string kasus tidak peka huruf besar/kecil.option_keysAdalah :FILEFORMATINPUTFORMATOUTPUTFORMATSERDEFIELDDELIMESCAPEDELIMMAPKEYDELIMLINEDELIM
FORMAT BARIS row_format
Berlaku untuk:
Databricks RuntimeUntuk menentukan SerDe kustom, atur ke
SERDEdan tentukan nama kelas berkualifikasi penuh dari SerDe kustom serta properti SerDe opsional. Untuk menggunakan SerDe asli, atur keDELIMITEDdan tentukan pemisah, karakter escape, karakter null, dan sebagainya.SERDEPROPERTIES
Daftar pasangan kunci-nilai yang digunakan untuk menandai definisi SerDe.
BIDANG DIHENTIKAN OLEH
Tentukan pemisah kolom.
ESCAPED OLEH
Tentukan mekanisme escape.
ITEM KOLEKSI DIHENTIKAN OLEH
Menentukan pemisah item pengumpulan.
KUNCI PEMETAAN DIHENTIKAN OLEH
Menentukan pemisah kunci peta.
GARIS DIHENTIKAN OLEH
Menentukan pemisah baris.
NULL DITENTUKAN SEBAGAI
Menentukan nilai spesifik untuk
NULL.DISIMPAN SEBAGAI
Format file untuk tabel. Format yang tersedia meliputi
TEXTFILE,SEQUENCEFILE,RCFILE,ORC,PARQUET, danAVRO. Atau, Anda dapat menentukan format input dan output Anda sendiri melaluiINPUTFORMATdanOUTPUTFORMAT. Hanya formatTEXTFILE,SEQUENCEFILE, danRCFILEyang dapat digunakan denganROW FORMAT SERDEdan hanyaTEXTFILEyang dapat digunakan denganROW FORMAT DELIMITED.
Catatan
Bergantung pada sumber data dan target tidak semua properti tabel dapat ditransfer.
CREATE TABLE LIKE ketika sumber adalah Tabel Delta Lake:
| Fitur/Properti | Target adalah Tabel non-Delta | Target adalah Tabel Delta |
|---|---|---|
| KOMENTAR | Ya | Ya |
| Kolom | Ya | Ya |
| Kolom partisi | Ya | Ya |
| Konfigurasi | Tidak | Ya |
| Batasan Tabel | Tidak Berlaku | Ya |
| Protokol Delta | Tidak Berlaku | Ya |
CREATE TABLE LIKE saat sumber bukan Delta Lake Table
| Fitur/Properti | Target adalah Tabel non-Delta | Target adalah Tabel Delta |
|---|---|---|
| KOMENTAR | Ya | Ya |
| Kolom | Ya | Ya |
| Kolom partisi | Ya | Ya |
| Konfigurasi | Ya | Ya |
| Batasan Tabel | Tidak | Ya |
| Protokol Delta | Tidak (Protokol Default Saat Ini untuk sesi tersebut) | Ya |
Contoh
-- 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';