Sdílet prostřednictvím


VYTVOŘENÍ SCHÉMATU

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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

  • schema_name

    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žijte MANAGED LOCATION.

    schema_directorySTRING 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žijte LOCATION místo toho.

    location_path musí být STRING 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ít CREATE 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, INTEGERnebo DECIMAL konstanta. Hodnota může být také voláním SECRET funkce SQL. For může například value password obsahovat secret('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))