CREATE SCHEMA
Berlaku untuk: Databricks SQL 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
-
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, gunakanMANAGED LOCATION
.schema_directory
adalah harfiahSTRING
. 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 statisspark.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.
KOMENTAR
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, gunakanLOCATION
sebagai gantinya.location_path
harus harfiahSTRING
. 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 memilikiCREATE 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 Bekerja dengan 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
BOOLEAN
ekspresi ,STRING
,INTEGER
, atauDECIMAL
konstanta. Nilainya mungkin juga merupakan panggilan keSECRET
fungsi SQL. Misalnya,value
untukpassword
mungkin terdirisecret('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))