Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Erstellt ein Schema (Datenbank) mit dem angegebenen Namen. Wenn bereits ein Schema mit demselben Namen vorhanden ist, wird eine Ausnahme ausgelöst.
Syntax
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 } [ , ... ] ) ] [...]
Parameter
-
Der Name des zu erstellenden Schemas.
Im
hive_metastore-Katalog erstellte Schemas dürfen nur alphanumerische ASCII-Zeichen und Unterstriche enthalten (INVALID_SCHEMA_OR_RELATION_NAME). WENN NICHT EXISTIERT
Erstellt einen Katalog mit dem angegebenen Namen, sofern dieser noch nicht vorhanden ist. Wenn bereits ein Schema mit demselben Namen vorhanden ist, geschieht nichts.
LOKATION
schema_directoryLOCATIONwird im Unity-Katalog nicht unterstützt. Wenn Sie einen Speicherort für ein Schema in Unity Catalog angeben möchten, verwenden SieMANAGED LOCATION.schema_directoryist einSTRINGwörtlich. Der Pfad des Dateisystems, in dem das angegebene Schema erstellt werden soll. Wenn der angegebene Pfad im zugrunde liegenden Dateisystem nicht vorhanden ist, wird ein Verzeichnis mit dem Pfad erstellt. Wenn der Speicherort nicht angegeben wird, wird das Schema im standardmäßigen Warehouse-Verzeichnis erstellt, dessen Pfad in der statischen Konfigurationspark.sql.warehouse.dirfestgelegt ist.Warnung
Wenn ein Schema (Datenbank) in Ihrem Hive-Metastore auf Arbeitsbereichsebene registriert ist, führt das Löschen dieses Schemas mithilfe der Option
CASCADEdazu, dass alle Dateien an diesem Schemaspeicherort rekursiv gelöscht werden, unabhängig vom Tabellentyp (verwaltet oder extern).Wenn das Schema in einem Unity Catalog-Metastore registriert ist, werden die Dateien für verwaltete Unity Catalog-Tabellen rekursiv gelöscht. Die Dateien für externe Tabellen werden jedoch nicht gelöscht. Sie müssen diese Dateien direkt mithilfe des Cloudspeicheranbieters verwalten.
Um versehentlichen Datenverlust zu vermeiden, sollten Sie daher niemals ein Schema in einem Hive-Metastore an einem Speicherort mit vorhandenen Daten registrieren. Sie sollten auch keine neuen externen Tabellen an einem Speicherort erstellen, der von Hive-Metastore-Schemas verwaltet wird oder verwaltete Unity Catalog-Tabellen enthält.
KOMMENTAR
schema_commentEin
STRING-Literal. Beschreibung für das Schema.STANDARDKOLLATION default_collation_name
Gilt für:
Databricks SQL
Databricks Runtime 17.1 and aboveDefiniert optional die Standardsortierung für Objekte, die im Schema definiert sind. Wenn nicht angegeben, wird die Standardsortierreihenfolge vom Katalog geerbt.
VERWALTETER STANDORT
location_pathMANAGED LOCATIONist optional und erfordert den Einheits-Katalog. Wenn Sie einen Speicherort für ein Schema angeben möchten, das in Ihrem Hive- oder Drittanbieter-Metastore auf Arbeitsbereichsebene registriert ist, verwenden Sie stattdessenLOCATION.location_pathmuss einSTRING-Literal sein. Gibt den Pfad zu einem Stammverzeichnis für das Schema an, das sich vom Speicherort des Katalogs oder Metastores unterscheidet. Der Pfad muss in einer Konfiguration mit einem externen Speicherort definiert werden, und Sie müssen über die BerechtigungCREATE MANAGED STORAGEfü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.Siehe auch verwaltete Tabellen im Unity-Katalog in Azure Databricks für Delta Lake und Apache Iceberg und Erstellen eines Unity Catalog-Metastores.
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] )
Die Eigenschaften des Schemas in Schlüssel-Wert-Paaren.
OPTIONEN
Legt verbindungstypspezifische Parameter fest, die zum Identifizieren des Katalogs bei der Verbindung erforderlich sind.
optionDer 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.
valueDer Wert für die Option. Der Wert muss ein
BOOLEAN,STRING, ,INTEGERoderDECIMALkonstanter Ausdruck sein. Der Wert kann auch ein Aufruf der SQL-FunktionSECRETsein. Beispielsweise kannvaluefürpasswordanstelle der Eingabe des Literalkennwortssecret('secrets.r.us', 'postgresPassword')enthalten.
Beispiele
-- 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))