Bagikan melalui


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 dilemparkan.

Sintaks

CREATE SCHEMA [ IF NOT EXISTS ] schema_name
    [ COMMENT schema_comment |
      DEFAULT COLLATION default_collation_name |
      { 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 katalog hive_metastore hanya dapat berisi karakter dan garis bawah ASCII alfanumerik (INVALID_SCHEMA_OR_RELATION_NAME).

  • JIKA TIDAK ADA

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

  • 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 menggunakan opsi CASCADE 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 Unity Catalog tabel terkelola 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 suatu lokasi dengan data yang ada. Anda juga tidak boleh membuat tabel eksternal baru di lokasi yang dikelola oleh Hive Metastore Skema atau yang berisi tabel terkelola Katalog Unity.

  • KOMENTAR schema_comment

    Sebuah STRING harfiah. Deskripsi untuk skema.

  • KOLASI DEFAULT default_collation_name

    Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 17.1 ke atas

    Secara opsional mendefinisikan kolatasi default untuk objek yang ditentukan dalam skema. Jika tidak ditentukan, pengurutan default diambil dari katalog.

  • LOKASI TERKELOLA location_path

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

    location_path harus berupa literal STRING . Menentukan jalur menuju 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 Unity Catalog di Azure Databricks untuk Delta Lake dan Apache Iceberg dan Membuat metastore Unity Catalog.

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

    Properti untuk skema dalam pasangan nilai-kunci.

  • 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 DECIMALkonstanta. Nilainya mungkin juga merupakan panggilan ke SECRET fungsi SQL. Misalnya, value untuk password mungkin menggantikan secret('secrets.r.us', 'postgresPassword') daripada memasukkan kata sandi secara 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 `experimental` with a case insensitive unicode default collation
> CREATE SCHEMA experimental DEFAULT COLLATION UNICODE_CI;

-- 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))