BUAT TABEL SEPERTI

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menentukan tabel menggunakan definisi dan metadata dari tabel atau tampilan yang 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.

  • table_name

    Nama tabel yang akan dibuat. Nama tidak boleh menyertakan spesifikasi temporal. Jika nama tidak memenuhi syarat, tabel dibuat dalam skema saat ini. Sebuah table_nama tidak harus ada.

  • source_table_name

    Nama tabel yang definisinya disalin. source_table_name dan table_name keduanya harus berada di metastore Apache Hive, atau keduanya berada di Unity Catalog.

  • table_clauses

    Menentukan format sumber data, lokasi, dan properti yang ditentukan pengguna secara opsional 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.

    • TBLPROPERTIES

      Secara opsional, atur satu atau beberapa properti yang ditentukan pengguna.

    • MENGGUNAKAN data_source

      Format file yang akan 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 untuk membuat 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:centang ditandai ya Databricks Runtime

      Untuk menentukan SerDe kustom, atur ke SERDE dan tentukan nama kelas yang sepenuhnya memenuhi syarat dari properti SerDe kustom dan SerDe opsional. Untuk menggunakan SerDe native, atur ke DELIMITED dan tentukan pemisah, karakter escape, karakter null dan sebagainya.

      • SERDEPROPERTIES

        Daftar pasangan nilai kunci 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 LIKEketika sumbernya adalah 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 Tidak Ya
Batasan Tabel Tidak Berlaku Ya
Protokol Delta Tidak Berlaku Ya

CREATE TABLE LIKEketika sumbernya 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 '/mnt/data_files';

-- Create table like using a data source
> CREATE TABLE Student_Dupli LIKE Student USING CSV LOCATION '/mnt/csv_files';