VYTVOŘENÍ SCHÉMATU
Platí pro: Databricks SQL Databricks Runtime
Vytvoří schéma (databázi) se zadaným názvem. Pokud schéma se stejným názvem již existuje, vyvolá se výjimka.
Syntaxe
CREATE SCHEMA [ IF NOT EXISTS ] schema_name
[ COMMENT schema_comment ]
[ LOCATION schema_directory | MANAGED LOCATION location_path ]
[ WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] ) ]
Parametry
-
Název schématu, které se má vytvořit.
Schémata vytvořená v
hive_metastore
katalogu mohou obsahovat pouze alfanumerické znaky a podtržítka ASCII (INVALID_SCHEMA_OR_RELATION_NAME). POKUD NEEXISTUJE
Vytvoří schéma s daným názvem, pokud neexistuje. Pokud schéma se stejným názvem již existuje, nic se nestane.
UMÍSTĚNÍ
schema_directory
LOCATION
Není podporován v katalogu Unity. Pokud chcete zadat umístění úložiště pro schéma v Katalogu Unity, použijteMANAGED LOCATION
.schema_directory
STRING
je literál. Cesta systému souborů, ve kterém se má vytvořit zadané schéma. Pokud zadaná cesta v základním systému souborů neexistuje, vytvoří adresář s cestou. Pokud není zadané umístění, schéma se vytvoří ve výchozím adresáři skladu, jehož cesta je nakonfigurována statickou konfiguracíspark.sql.warehouse.dir
.Upozorňující
Pokud je ve vašem metastoru Hive na úrovni pracovního prostoru zaregistrované schéma (databáze), odstranění tohoto schématu pomocí
CASCADE
této možnosti způsobí, že se všechny soubory v tomto umístění schématu odstraní rekurzivně bez ohledu na typ tabulky (spravovaný nebo externí).Pokud je schéma zaregistrované v metastoru katalogu Unity, odstraní se soubory spravovaných tabulek Katalogu Unity rekurzivně. Soubory pro externí tabulky se ale neodstraní. Tyto soubory musíte spravovat přímo pomocí poskytovatele cloudového úložiště.
Abyste se vyhnuli náhodné ztrátě dat, neměli byste nikdy registrovat schéma v metastoru Hive do umístění s existujícími daty. Ani byste neměli vytvářet nové externí tabulky v umístění spravovaném schématy metastoru Hive nebo obsahující spravované tabulky Katalogu Unity.
KOMENTÁŘ
schema_comment
Literál
STRING
. Popis schématu.SPRAVOVANÉ UMÍSTĚNÍ
location_path
MANAGED LOCATION
je nepovinný a vyžaduje katalog Unity. Pokud chcete zadat umístění úložiště pro schéma zaregistrované v Hive nebo metastoru třetí strany na úrovni pracovního prostoru, použijteLOCATION
místo toho.location_path
musí býtSTRING
literál. Určuje cestu k kořenovému umístění úložiště pro schéma, které se liší od kořenového umístění úložiště katalogu nebo metastoru. Tato cesta musí být definována v konfiguraci externího umístění a musíte mítCREATE MANAGED STORAGE
oprávnění ke konfiguraci externího umístění. Můžete použít cestu definovanou v konfiguraci externího umístění nebo dílčí cestu (jinými slovy,'abfss://container@storageaccount.dfs.core.windows.net/finance'
nebo'abfss://container@storageaccount.dfs.core.windows.net/finance/product'
). Podporuje se v Databricks SQL nebo v clusterech s Modulem Databricks Runtime 11.3 LTS a novějším.Viz také Práce se spravovanými tabulkami a vytvoření metastoru katalogu Unity.
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] )
Vlastnosti schématu ve dvojicích klíč-hodnota.
OPTIONS
Nastaví parametry specifické pro typ připojení potřebné k identifikaci katalogu v připojení.
option
Klávesa option. Klíč se může skládat z jednoho nebo více identifikátorů oddělených tečkou nebo literálem
STRING
.Klávesy možností musí být jedinečné a rozlišují malá a velká písmena.
value
Hodnota pro možnost. Hodnota musí být výraz
BOOLEAN
,STRING
,INTEGER
neboDECIMAL
konstanta. Hodnota může být také volánímSECRET
funkce SQL. For může napříkladvalue
password
obsahovatsecret('secrets.r.us', 'postgresPassword')
rozdíl od zadávání literálového hesla.
Příklady
-- 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))