CREATE CATALOG

Berlaku untuk:centang ditandai yaDatabricks SQL centang ditandai ya Databricks Runtime 10.4 LTS dan di atas centang ditandai ya Unity Catalog saja

Membuat katalog dengan nama yang ditentukan. Jika katalog dengan nama yang sama sudah ada, pengecualian akan dibuang.

Saat Anda membuat FOREIGN katalog, katalog akan diisi dengan semua skema dan tabelnya yang terlihat oleh pengguna yang mengautentikasi.

Penting

Saat Anda mengatur opsi katalog yang membawa kredensial, seperti kata sandi atau token, untuk menjaganya tetap aman, berikan nilai menggunakan secret fungsi daripada memasukkan nilai harfiah langsung dalam OPTIONS klausul. Ini memungkinkan Anda mereferensikan rahasia yang disimpan di layanan rahasia Databricks alih-alih menyertakan nilai kredensial dalam pernyataan Anda.

Sintaks

CREATE CATALOG [ IF NOT EXISTS ] catalog_name
    [ USING SHARE provider_name . share_name |
      MANAGED LOCATION location_path |
      RETAIN DROPPED FOR number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
      COMMENT comment |
      DEFAULT COLLATION default_collation_name |
      OPTIONS ( { option_name = option_value } [ , ... ] ) ] [...]

CREATE FOREIGN CATALOG [ IF NOT EXISTS ] catalog_name
    USING CONNECTION connection_name
    [ COMMENT comment ]
    OPTIONS ( { option_name = option_value } [ , ... ] )

Parameter-parameternya

  • LUAR NEGERI

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

    Menunjukkan bahwa katalog diimpor dari KONEKSI.

  • JIKA TIDAK ADA

    Membuat katalog dengan nama yang ditentukan jika katalog tersebut belum ada. Jika katalog dengan nama yang sama sudah ada, tidak akan terjadi apa-apa.

  • catalog_name

    Nama katalog yang akan dibuat.

  • MENGGUNAKAN SHARE provider_name.share_name

    Secara opsional menentukan bahwa katalog didasarkan pada berbagi OpenSharing.

  • LOKASI TERKELOLA location_path

    Secara opsional menentukan jalur ke lokasi penyimpanan terkelola untuk katalog yang berbeda dari lokasi penyimpanan akar metastore. Jalur ini harus ditentukan dalam konfigurasi lokasi eksternal, dan Anda harus memiliki CREATE MANAGED STORAGE hak istimewa pada konfigurasi lokasi eksternal. Anda dapat menggunakan jalur yang ditentukan dalam konfigurasi lokasi eksternal atau subpath (dengan kata lain, 'abfss://container@storageaccount.dfs.core.windows.net/finance' atau 'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Didukung di Databricks SQL atau pada kluster yang menjalankan Databricks Runtime 11.3 LTS ke atas.

    Lihat juga tabel terkelola Unity Catalog untuk Delta Lake dan Apache Iceberg dan Membuat metastore Unity Catalog.

  • PERTAHANKAN DIHILANGKAN UNTUK nomor { JAM | JAM | HARI | HARI | MINGGU | MINGGU }

    Berlaku untuk:check ditandai ya Databricks Runtime 17.3 ke atas centang ditandai ya Unity Catalog saja

    Penting

    Fitur ini ada di Pratinjau Umum.

    Secara opsional mengatur periode pemulihan untuk tabel terkelola yang dihilangkan dalam katalog, periode di mana tabel yang dihilangkan dapat dipulihkan menggunakan UNDROP TABLE perintah . Jika tidak ditentukan, defaultnya adalah 7 hari. Nilainya harus 0 jam (untuk menonaktifkan pemulihan) atau antara 7–30 hari, inklusif.

    Mengatur periode pemulihan ke 0 berarti tabel yang dihilangkan tidak dapat dipulihkan menggunakan UNDROP dan file data dihapus dari penyimpanan cloud dalam waktu 48 jam.

    Jika periode pemulihan juga diatur pada skema anak, pengaturan tingkat skema lebih diutamakan untuk tabel dalam skema tersebut. Pengaturan ini hanya berlaku untuk tabel yang dihilangkan setelah periode pemulihan dikonfigurasi. Setelah periode pemulihan berakhir, file data untuk tabel terkelola dihapus dari penyimpanan cloud Anda dalam waktu 48 jam.

    Tidak didukung untuk katalog asing atau bersama. Lihat juga Menghilangkan tabel terkelola.

  • MENGGUNAKAN KONEKSI connection_name

    Menentukan koneksi tempat katalog sumber berada.

  • komentar

    Teks literal yang opsional STRING. Deskripsi untuk katalog.

  • KOLASI DEFAULT default_collation_name

    Berlaku untuk: : tercentang ya Databricks SQL tercentang ya Databricks Runtime 17.1 ke atas

    Secara opsional mendefinisikan kolate default untuk objek yang ditentukan dalam katalog. Jika tidak ditentukan, kolatasi defaultnya adalah UTF8_BINARY.

  • OPSI

    Mengatur parameter spesifik jenis koneksi yang diperlukan untuk mengidentifikasi katalog pada koneksi.

    • option_name

      Kunci opsi. Kunci dapat terdiri dari satu atau beberapa pengidentifikasi yang dipisahkan oleh titik, atau STRING harfiah.

      Kunci opsi harus unik dan sensitif terhadap huruf besar/kecil.

    • option_value

      Nilai untuk opsi tersebut. Nilai harus berupa BOOLEANekspresi , STRING, INTEGER, atau DECIMALkonstanta.

Contoh

-- Create catalog `customer_cat`. This throws exception if catalog with name customer_cat
-- already exists.
> CREATE CATALOG customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist.
> CREATE CATALOG IF NOT EXISTS customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist, with a comment.
> CREATE CATALOG IF NOT EXISTS customer_cat COMMENT 'This is customer catalog';

-- Create a catalog from a Delta Sharing share.
> CREATE CATALOG customer_cat USING SHARE cdc.vaccinedata;

-- Create a catalog with a different managed storage location than the metastore's.
> CREATE CATALOG customer_cat MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';

-- Create a catalog with a case insesnitive and accent insensitive default collation.
> CREATE CATALOG customer_cat DEFAULT COLLATION UNICODE_CI_AI;

-- Create a catalog with a 30-day recovery period for dropped managed tables.
> CREATE CATALOG customer_cat RETAIN DROPPED FOR 30 DAYS;

-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
     USING CONNECTION postgresql_connection
     OPTIONS (database 'postgresdb');