Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
CREATE TABLE LIKE
Artikel
23/01/2025
Berlaku untuk: Databricks SQL Databricks Runtime
Menentukan tabel menggunakan definisi dan metadata tabel atau tampilan 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
IF NOT EXISTS
Jika ditentukan, mengabaikan pernyataan jika table_name sudah 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_name dan table_name harus 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_source harus salah satu dari:
TEXT
CSV
JSON
JDBC
PARQUET
DELTA
Format file tambahan berikut yang akan digunakan untuk tabel didukung dalam Databricks Runtime:
ORC
HIVE
LIBSVM
nama kelas yang sepenuhnya memenuhi syarat dari implementasi kustomorg.apache.spark.sql.sources.DataSourceRegister.
Jika Anda tidak menentukan USING format tabel sumber akan diwariskan.
Berikut ini berlaku untuk: Databricks Runtime
HIVE didukung dalam pembuatan tabel Apache Hive SerDe di Databricks Runtime.
Anda dapat menentukan Apache Hive file_format dan row_formatmenggunakanOPTIONS klausul, yang merupakan peta string kasus tidak peka huruf besar/kecil.
option_keys Adalah :
FILEFORMAT
INPUTFORMAT
OUTPUTFORMAT
SERDE
FIELDDELIM
ESCAPEDELIM
MAPKEYDELIM
LINEDELIM
FORMAT BARIS row_format
Berlaku untuk: Databricks Runtime
Untuk menentukan SerDe kustom, atur ke SERDE dan tentukan nama kelas berkualifikasi penuh dari SerDe kustom serta properti SerDe opsional. Untuk menggunakan SerDe asli, atur ke DELIMITED dan 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, dan AVRO. Atau, Anda dapat menentukan format input dan output Anda sendiri melalui INPUTFORMAT dan OUTPUTFORMAT. Hanya format TEXTFILE, SEQUENCEFILE, dan RCFILE yang dapat digunakan dengan ROW FORMAT SERDE dan hanya TEXTFILE yang dapat digunakan dengan ROW 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
Pembatasan 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';