SÉMA LÉTREHOZÁSA

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Létrehoz egy sémát (adatbázist) a megadott névvel. Ha már létezik ugyanazzal a névvel rendelkező séma, a rendszer kivételt jelez.

Syntax

CREATE SCHEMA [ IF NOT EXISTS ] schema_name
    [ COMMENT schema_comment ]
    [ LOCATION schema_directory | MANAGED LOCATION location_path ]
    [ WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] ) ]

Paraméterek

  • schema_name

    A létrehozandó séma neve.

    A katalógusban hive_metastore létrehozott sémák csak alfanumerikus ASCII-karaktereket és aláhúzásjeleket (INVALID_SCHEMA_OR_RELATION_NAME) tartalmazhatnak.

  • HA NEM LÉTEZIK

    Létrehoz egy sémát a megadott névvel, ha az nem létezik. Ha már létezik ilyen nevű séma, semmi sem fog történni.

  • HELYEN schema_directory

    LOCATION a Unity Catalog nem támogatja. Ha egy séma tárolási helyét szeretné megadni a Unity Catalogban, használja a következőt MANAGED LOCATION: .

    schema_directorySTRING egy literál. Annak a fájlrendszernek az elérési útja, amelyben a megadott sémát létre kell hozni. Ha a megadott elérési út nem létezik a mögöttes fájlrendszerben, létrehoz egy könyvtárat az elérési úttal. Ha a hely nincs megadva, a séma az alapértelmezett raktárkönyvtárban jön létre, amelynek elérési útját a statikus konfiguráció spark.sql.warehouse.dirkonfigurálja.

    Figyelmeztetés

    Ha egy séma (adatbázis) regisztrálva van a munkaterületszintű Hive-metaadattárban, a séma beállítással történő elvetése esetén a CASCADE sémahelyen lévő összes fájl rekurzív módon törlődik, függetlenül a tábla típusától (felügyelt vagy külső).

    Ha a séma egy Unity Catalog-metaadattárban van regisztrálva, a Unity Catalog által felügyelt táblák fájljai rekurzív módon törlődnek. A külső táblák fájljai azonban nem törlődnek. Ezeket a fájlokat közvetlenül a felhőtárhely-szolgáltatóval kell kezelnie.

    Ezért a véletlen adatvesztés elkerülése érdekében soha ne regisztráljon sémát hive-metaadattárban meglévő adatokkal rendelkező helyre. Ne hozzon létre új külső táblákat a Hive metaadattár-sémái által kezelt vagy a Unity Catalog által felügyelt táblákat tartalmazó helyen.

  • schema_comment

    Egy STRING literál. A séma leírása.

  • FELÜGYELT HELY location_path

    MANAGED LOCATION nem kötelező, és unitykatalógusra van szükség. Ha meg szeretné adni a munkaterületszintű Hive-ben vagy külső féltől származó metaadattárban regisztrált sémák tárolási helyét, használja LOCATION helyette.

    location_path literálnak kell lennie STRING . Megadja a séma tárolási gyökérhelyének elérési útját, amely eltér a katalógus vagy a metaadattár tárológyökerének helyétől. Ezt az elérési utat egy külső helykonfigurációban kell meghatározni, és rendelkeznie kell a CREATE MANAGED STORAGE külső hely konfigurációjára vonatkozó jogosultsággal. Használhatja a külső hely konfigurációjában definiált elérési utat vagy egy segédútvonalat (más szóval, 'abfss://container@storageaccount.dfs.core.windows.net/finance' vagy 'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). A Databricks SQL-ben vagy a Databricks Runtime 11.3 LTS-t és újabb verziót futtató fürtökön támogatott.

    Lásd még a felügyelt táblákat , és hozzon létre egy Unity Catalog-metaadattárat.

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

    A séma tulajdonságai kulcs-érték párokban.

  • LEHETŐSÉGEK

    Beállítja a kapcsolattípus-specifikus paramétereket, amelyek szükségesek a katalógus azonosításához a kapcsolaton.

    • option

      A beállításkulcs. A kulcs egy vagy több, ponttal vagy STRING literálokkal elválasztott azonosítóból állhat.

      A beállításkulcsnak egyedinek kell lennie, és megkülönbözteti a kis- és nagybetűket.

    • value

      A beállítás értéke. Az értéknek egy BOOLEAN, STRING, INTEGERvagy DECIMAL állandó kifejezésnek kell lennie. Az érték lehet az SQL-függvény hívása SECRET is. Előfordulhat például, hogy a value for password szó secret('secrets.r.us', 'postgresPassword') nem a literális jelszót adja meg.

Példák

-- 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))