CREATE SCHEMA

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

Membuat skema (database) dengan nama yang ditentukan. Jika skema dengan nama yang sama sudah ada, pengecualian akan diterapkan.

Sintaks

CREATE SCHEMA [ IF NOT EXISTS ] schema_name
    [ COMMENT schema_comment ]
    [ LOCATION schema_directory | MANAGED LOCATION location_path ]
    [ WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] ) ]

Parameter

  • schema_name

    Nama skema yang akan dibuat.

    Skema yang dibuat dalam hive_metastore katalog hanya dapat berisi karakter dan garis bawah ASCII alfanumerik (INVALID_SCHEMA_OR_RELATION_NAME).

  • IF NOT EXISTS

    Membuat skema dengan nama yang diberikan jika tidak ada. Jika skema dengan nama yang sama sudah ada, tidak akan terjadi apa-apa.

  • LOKASI schema_directory

    LOCATION tidak didukung di Katalog Unity. Jika Anda ingin menentukan lokasi penyimpanan untuk skema di Unity Catalog, gunakan MANAGED LOCATION.

    schema_directory adalah harfiah STRING . Jalur sistem file tempat skema yang ditentukan akan dibuat. Jika jalur yang ditentukan tidak ada di sistem file yang mendasarinya, buat direktori dengan jalur tersebut. Jika lokasi tidak ditentukan, skema dibuat di direktori gudang default, yang jalurnya dikonfigurasi oleh konfigurasi statis spark.sql.warehouse.dir.

    Peringatan

    Jika skema (database) terdaftar di metastore Apache Hive tingkat ruang kerja Anda, menghilangkan skema tersebut CASCADE menggunakan opsi menyebabkan semua file di lokasi skema tersebut dihapus secara rekursif, terlepas dari jenis tabel (terkelola atau eksternal).

    Jika skema didaftarkan ke metastore Unity Catalog, file untuk tabel terkelola Unity Catalog akan dihapus secara rekursif. Namun, file untuk tabel eksternal tidak dihapus. Anda harus mengelola file tersebut menggunakan penyedia penyimpanan cloud secara langsung.

    Oleh karena itu, untuk menghindari kehilangan data yang tidak disengaja, Anda tidak boleh mendaftarkan skema di metastore Apache Hive ke lokasi dengan data yang ada. Anda juga tidak boleh membuat tabel eksternal baru di lokasi yang dikelola oleh skema metastore Apache Hive atau berisi tabel terkelola Katalog Unity.

  • schema_comment

    Sebuah STRING harfiah. Deskripsi untuk skema.

  • LOKASI TERKELOLA location_path

    MANAGED LOCATION bersifat opsional dan memerlukan Katalog Unity. Jika Anda ingin menentukan lokasi penyimpanan untuk skema yang terdaftar di Apache Hive tingkat ruang kerja atau metastore pihak ketiga, gunakan LOCATION sebagai gantinya.

    location_path harus harfiah STRING . Menentukan jalur ke lokasi akar penyimpanan untuk skema yang berbeda dari lokasi akar penyimpanan katalog atau 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 dan Membuat metastore Unity Catalog.

  • DENGAN DBPROPERTIES ( { property_name = property_value } [ , ... ] )

    Properti untuk skema dalam pasangan kunci-nilai.

  • OPSI

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

    • option

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

      Kunci opsi harus unik dan peka huruf besar/kecil.

    • value

      Nilai untuk opsi tersebut. Nilai harus berupa BOOLEANekspresi , STRING, INTEGER, atau DECIMAL konstanta. Nilainya mungkin juga merupakan panggilan ke SECRET fungsi SQL. Misalnya, value untuk password mungkin terdiri secret('secrets.r.us', 'postgresPassword') dari memasukkan kata sandi harfiah.

Contoh

-- Create schema `customer_sc`. This throws exception if schema with name customer_sc
-- already exists.
> CREATE SCHEMA customer_sc;

-- Create schema `customer_sc` only if schema with same name doesn't exist.
> CREATE SCHEMA IF NOT EXISTS customer_sc;

-- Create schema `customer_sc` only if schema with same name doesn't exist with
-- `Comments`,`Specific Location` and `Database properties`. LOCATION is not supported in Unity Catalog.
> CREATE SCHEMA IF NOT EXISTS customer_sc COMMENT 'This is customer schema' LOCATION '/samplepath'
    WITH DBPROPERTIES (ID=001, Name='John');

-- Create schema with a different managed storage location than the metastore's. MANAGED LOCATION is supported only in Unity Catalog.
> CREATE SCHEMA customer_sc MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';

-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED customer_sc;
database_description_item database_description_value
------------------------- --------------------------
            Database Name                customer_sc
              Description  This is customer schema
                  Location      hdfs://hacluster/samplepath
                Properties    ((ID,001), (Name,John))