CREATE CATALOG

Gilt für:Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 10.4 LTS und höher Häkchen nur für Unity Catalog

Erstellt einen Katalog mit dem angegebenen Namen. Wenn bereits ein Katalog mit demselben Namen vorhanden ist, wird eine Ausnahme ausgelöst.

Wenn Sie einen FOREIGN-Katalog erstellen, wird er mit allen Schemas und deren Tabellen aufgefüllt, die für den authentifizierenden Benutzer sichtbar sind.

Syntax

CREATE CATALOG [ IF NOT EXISTS ] catalog_name
    [ USING SHARE provider_name . share_name ]
    [ MANAGED LOCATION 'location_path' ]
    [ COMMENT comment ]

CREATE FOREIGN CATALOG [ IF NOT EXISTS ] catalog_name
    USING CONNECTION connection_name
    [ COMMENT comment ]
    OPTIONS ( { option_name = option_value } [ , ... ] )

Parameter

  • FOREIGN

    Gilt für:Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime ab Version 13.3 LTS

    Gibt an, dass der Katalog aus einer CONNECTION importiert wird.

  • IF NOT EXISTS

    Erstellt einen Katalog mit dem angegebenen Namen, sofern dieser noch nicht vorhanden ist. Wenn bereits ein Katalog mit demselben Namen vorhanden ist, geschieht nichts.

  • catalog_name

    Name des Katalogs, der erstellt werden soll.

  • USING SHARE provider_name.share_name

    Gibt optional an, dass der Katalog auf einer Delta Sharing-Freigabe basiert.

  • MANAGED LOCATION 'location_path'

    Gibt optional den Pfad zu einem verwalteten Speicherort für den Katalog an. Dieser unterscheidet sich vom Stammspeicherort des Metastore. Der Pfad muss in einer Konfiguration mit einem externen Speicherort definiert werden, und Sie müssen über die Berechtigung CREATE MANAGED STORAGE für die Konfiguration des externen Speicherorts verfügen. Sie können den Pfad verwenden, der in der Konfiguration des externen Speicherorts definiert ist, oder einen Unterpfad (mit anderen Worten, 'abfss://container@storageaccount.dfs.core.windows.net/finance' oder 'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Unterstützt in Databricks SQL oder auf Clustern, auf denen Databricks Runtime 11.3 und höher ausgeführt wird.

    Weitere Informationen finden Sie unter Verwaltete Tabellen und Erstellen eines Unity Catalog-Metastore.

  • USING CONNECTION connection_name

    Gibt die Verbindung an, in der sich der Quellkatalog befindet.

  • Kommentar

    Ein optionales STRING-Literal. Beschreibung für den Katalog.

  • OPTIONS

    Legt verbindungstypspezifische Parameter fest, die zum Identifizieren des Katalogs bei der Verbindung erforderlich sind.

    • Option

      Der Optionsschlüssel. Der Schlüssel kann aus einem oder mehreren Bezeichnern bestehen, die durch einen Punkt oder ein STRING-Literal getrennt sind.

      Optionsschlüssel müssen eindeutig sein, und die Groß-/Kleinschreibung muss beachtet werden.

    • value

      Der Wert für die Option. Der Wert muss ein konstanter Ausdruck vom Typ BOOLEAN, STRING, INTEGER oder DECIMAL sein. Der Wert kann auch ein Aufruf der SQL-Funktion SECRET sein. Beispielsweise kann value für password anstelle der Eingabe des Literalkennworts secret('secrets.r.us', 'postgresPassword') enthalten.

Beispiele

-- Create catalog `customer_cat`. This throws exception if catalog with name customer_cat
-- already exists.
> CREATE CATALOG customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist.
> CREATE CATALOG IF NOT EXISTS customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist, with a comment.
> CREATE CATALOG IF NOT EXISTS customer_cat COMMENT 'This is customer catalog';

-- Create a catalog from a Delta Sharing share.
> CREATE CATALOG customer_cat USING SHARE cdc.vaccinedata;

-- Create a catalog with a different managed storage location than the metastore's.
> CREATE CATALOG customer_cat MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';

-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
     USING CONNECTION postgresql_connection
     OPTIONS (database 'postgresdb');