TWORZENIE SCHEMATU

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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

  • Schema_name

    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.

  • LOKALIZACJI 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 polecenia MANAGED LOCATION.

    schema_directory jest literałem STRING . Ś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.dirstatyczną .

    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.

  • 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żyj LOCATION zamiast tego.

    location_path musi być literałem STRING . 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 również Artykuł Managed tables (Zarządzane tabele ) i Create a Unity Catalog metastore (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 BOOLEANstałym , STRING, INTEGERlub DECIMAL . Wartość może być również wywołaniem SECRET funkcji SQL. Na przykład element value for password 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))