Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Hiermee maakt u een schema (database) met de opgegeven naam. Als er al een schema met dezelfde naam bestaat, wordt er een uitzondering gegenereerd.
Syntaxis
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 } [ , ... ] ) ] [...]
Parameterwaarden
-
De naam van het schema dat moet worden gemaakt.
Schema's die in de
hive_metastorecatalogus zijn gemaakt, kunnen alleen alfanumerieke ASCII-tekens en onderstrepingstekens (INVALID_SCHEMA_OR_RELATION_NAME) bevatten. ALS DEZE NIET BESTAAT
Hiermee maakt u een schema met de opgegeven naam als het niet bestaat. Als er al een schema met dezelfde naam bestaat, gebeurt er niets.
PLAATS
schema_directoryLOCATIONwordt niet ondersteund in Unity Catalog. Als u een opslaglocatie wilt opgeven voor een schema in Unity Catalog, gebruikt uMANAGED LOCATION.schema_directoryis eenSTRINGletterlijke. Het pad van het bestandssysteem waarin het opgegeven schema moet worden gemaakt. Als het opgegeven pad niet bestaat in het onderliggende bestandssysteem, maakt u een map met het pad. Als de locatie niet is opgegeven, wordt het schema gemaakt in de standaardmap van het magazijn, waarvan het pad is geconfigureerd door de statische configuratiespark.sql.warehouse.dir.Waarschuwing
Als een schema (database) is geregistreerd in de Hive-metastore op werkruimteniveau, wordt dat schema verwijderd met behulp van de optie
CASCADE, waardoor alle bestanden op die schemalocatie recursief worden verwijderd, ongeacht het tabeltype (beheerd of extern).Als het schema is geregistreerd bij een Unity Catalog-metastore, worden de bestanden voor beheerde tabellen in Unity Catalog recursief verwijderd. De bestanden voor externe tabellen worden echter niet verwijderd. U moet deze bestanden rechtstreeks beheren met behulp van de cloudopslagprovider.
Om onbedoeld gegevensverlies te voorkomen, moet u daarom nooit een schema registreren in een Hive-metastore op een locatie met bestaande gegevens. U moet ook geen nieuwe externe tabellen maken op een locatie die wordt beheerd door Hive-metastoreschema's of die beheerde tabellen van Unity Catalog bevatten.
COMMENTAAR
schema_commentEen
STRINGletterlijke. De beschrijving voor het schema.STANDAARDCOLLATIE default_collation_name
Van toepassing op:
Databricks
Databricks Runtime 17.1 en hogerDefinieer eventueel de standaardsortering voor objecten die in het schema zijn gedefinieerd. Als de standaardsortering niet is opgegeven, wordt deze overgenomen uit de catalogus.
BEHEERDE LOCATIE
location_pathMANAGED LOCATIONis optioneel en vereist Unity Catalog. Als u een opslaglocatie wilt opgeven voor een schema dat is geregistreerd in de Hive- of metastore van derden op werkruimteniveau, gebruiktLOCATIONu in plaats daarvan.location_pathmoet eenSTRINGletterlijke naam zijn. Hiermee geeft u het pad naar een opslaghoofdlocatie voor het schema dat verschilt van de opslaghoofdlocatie van de catalogus of metastore. Dit pad moet worden gedefinieerd in een configuratie van een locatie. U kunt het pad gebruiken dat is gedefinieerd in de configuratie van de externe locatie of een subpad (met andere woorden,'abfss://container@storageaccount.dfs.core.windows.net/finance'of'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Ondersteund in Databricks SQL of in clusters met Databricks Runtime 11.3 LTS en hoger.Zie ook beheerde tabellen in Unity Catalog in Azure Databricks voor Delta Lake en Apache Iceberg en een Unity Catalog-metastore maken.
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] )
De eigenschappen voor het schema in sleutel-waardeparen.
OPTIES
Hiermee stelt u specifieke parameters voor het verbindingstype in die nodig zijn om de catalogus bij de verbinding te identificeren.
optionDe optietoets. De sleutel kan bestaan uit een of meer id's , gescheiden door een punt of een
STRINGletterlijke aanduiding.Optietoetsen moeten uniek zijn en hoofdlettergevoelig zijn.
valueDe waarde voor de optie. De waarde moet een
BOOLEAN,STRINGofINTEGERDECIMALconstante expressie zijn. De waarde kan ook een aanroep van deSECRETSQL-functie zijn. De forvaluekan bijvoorbeeldpasswordbestaansecret('secrets.r.us', 'postgresPassword')uit het invoeren van het letterlijke wachtwoord.
Voorbeelden
-- 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))