TWORZENIE SCHEMATU
Dotyczy: Databricks SQL Databricks Runtime
Tworzy schemat (bazę danych) o określonej nazwie. Jeśli schemat o tej samej nazwie już istnieje, zgłaszany jest wyjątek.
Składnia
CREATE SCHEMA [ IF NOT EXISTS ] schema_name
[ COMMENT schema_comment |
{ LOCATION schema_directory | MANAGED LOCATION location_path } |
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] ) ] [...]
Parametry
-
Nazwa schematu, który ma zostać utworzony.
Schematy utworzone w wykazie
hive_metastore
mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME). JEŚLI NIE ISTNIEJE
Tworzy schemat o podanej nazwie, jeśli nie istnieje. Jeśli schemat o tej samej nazwie już istnieje, nic się nie stanie.
LOKALIZACJA
schema_directory
LOCATION
program nie jest obsługiwany w wykazie aparatu Unity. Jeśli chcesz określić lokalizację przechowywania schematu w katalogu aparatu Unity, użyj poleceniaMANAGED LOCATION
.schema_directory
jest literałemSTRING
. Ścieżka systemu plików, w którym ma zostać utworzony określony schemat. Jeśli określona ścieżka nie istnieje w bazowym systemie plików, tworzy katalog ze ścieżką. Jeśli lokalizacja nie zostanie określona, schemat zostanie utworzony w domyślnym katalogu magazynu, którego ścieżka jest skonfigurowana przez konfiguracjęspark.sql.warehouse.dir
statyczną .Ostrzeżenie
Jeśli schemat (baza danych) jest zarejestrowany w magazynie metadanych programu Hive na poziomie obszaru roboczego, usunięcie tego schematu przy użyciu
CASCADE
opcji powoduje ponowne usunięcie wszystkich plików w tej lokalizacji schematu niezależnie od typu tabeli (zarządzanego lub zewnętrznego).Jeśli schemat jest zarejestrowany w magazynie metadanych wykazu aparatu Unity, pliki tabel zarządzanych wykazu aparatu Unity są usuwane rekursywnie. Pliki tabel zewnętrznych nie są jednak usuwane. Te pliki należy zarządzać bezpośrednio przy użyciu dostawcy magazynu w chmurze.
W związku z tym, aby uniknąć przypadkowej utraty danych, nigdy nie należy rejestrować schematu w magazynie metadanych Hive w lokalizacji z istniejącymi danymi. Nie należy również tworzyć nowych tabel zewnętrznych w lokalizacji zarządzanej przez schematy magazynu metadanych Hive lub zawierające tabele zarządzane przez wykaz aparatu Unity.
KOMENTARZ
schema_comment
Literał
STRING
. Opis schematu.ZARZĄDZANA LOKALIZACJA
location_path
MANAGED LOCATION
jest opcjonalny i wymaga wykazu aparatu Unity. Jeśli chcesz określić lokalizację przechowywania schematu zarejestrowanego w programie Hive na poziomie obszaru roboczego lub magazynie metadanych innej firmy, użyjLOCATION
zamiast tego.location_path
musi być literałemSTRING
. Określa ścieżkę do lokalizacji głównej magazynu dla schematu, który różni się od lokalizacji głównej magazynu katalogu lub magazynu metadanych. Ta ścieżka musi być zdefiniowana w konfiguracji lokalizacji zewnętrznej i musi miećCREATE MANAGED STORAGE
uprawnienia do konfiguracji lokalizacji zewnętrznej. Możesz użyć ścieżki zdefiniowanej w konfiguracji lokalizacji zewnętrznej lub ścieżki podrzędnej (innymi słowy'abfss://container@storageaccount.dfs.core.windows.net/finance'
lub'abfss://container@storageaccount.dfs.core.windows.net/finance/product'
). Obsługiwane w usłudze Databricks SQL lub w klastrach z uruchomionym środowiskiem Databricks Runtime 11.3 LTS lub nowszym.Zobacz też Praca z tabelami zarządzanymi i Tworzenie magazynu metadanych wykazu aparatu Unity.
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] )
Właściwości schematu w parach klucz-wartość.
OPTIONS
Ustawia parametry specyficzne dla typu połączenia potrzebne do zidentyfikowania wykazu w połączeniu.
option
Klucz opcji. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literałem
STRING
.Klucze opcji muszą być unikatowe i uwzględniane są wielkość liter.
value
Wartość opcji. Wartość musi być wyrażeniem
BOOLEAN
stałym ,STRING
,INTEGER
lubDECIMAL
. Wartość może być również wywołaniemSECRET
funkcji SQL. Na przykład elementvalue
forpassword
może składać sięsecret('secrets.r.us', 'postgresPassword')
w przeciwieństwie do wprowadzania hasła literału.
Przykłady
-- 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))