Sdílet prostřednictvím


CREATE SCHEMA

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto 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 |
      DEFAULT COLLATION default_collation_name |
      { 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 katalogu hive_metastore 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í v katalogu Unity podporována. Pokud chcete zadat umístění úložiště pro schéma v Katalogu Unity, použijte MANAGED 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 umístění není zadané, schéma se vytvoří ve výchozím adresáři skladu, jehož cesta je nakonfigurována statickou konfigurací spark.sql.warehouse.dir.

    Varování

    Pokud je ve vašem metastoru Hive na úrovni pracovního prostoru zaregistrované schéma (databáze), odstranění tohoto schématu pomocí možnosti CASCADE 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 zaregistrováno v metastoru Unity Catalogu, soubory pro spravované tabulky katalogu Unity jsou odstraněny rekurzivně. Soubory pro externí tabulky nejsou ale odstraněny. 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. Neměli byste také vytvářet nové externí tabulky v umístěních spravovaných schématy metastore Hive nebo v místech obsahujících tabulky spravované Unity Catalog.

  • KOMENTÁŘ schema_comment

    Literál STRING . Popis schématu.

  • výchozí kolace default_collation_name

    Platí pro:check označený jako ano Kontrola SQL Databricks označená jako ano Databricks Runtime 17.1 a vyšší

    Volitelně definuje výchozí kolaci pro objekty definované v rámci schématu. Pokud není výchozí kolace zadána, zdědí se z katalogu.

  • 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é ve vašem metastore na úrovni pracovního prostoru nebo v metastore třetí strany, použijte místo toho LOCATION.

    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'). Podporováno je v Databricks SQL nebo na clusterech s prostředím Databricks Runtime 11.3 LTS a vyšším.

    Viz také tabulky spravované službou Unity Catalog v Azure Databricks pro Delta Lake a Apache Iceberg a vytvoření metastoru katalogu Unity.

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

    Vlastnosti schématu ve dvojicích klíč-hodnota.

  • VOLBY

    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íče možností musí být jedinečné a rozlišují velká a malá písmena.

    • value

      Hodnota pro možnost. Hodnota musí být výraz BOOLEAN, STRING, INTEGERnebo DECIMALkonstanta. Hodnota může být také voláním SECRET funkce SQL. Například value pro password může obsahovat secret('secrets.r.us', 'postgresPassword'), v rozporu se zadáváním doslovné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 `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))