Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime
Crée un schéma (base de données) du nom spécifié. S’il existe déjà un schéma du même nom, une exception est levée.
Syntaxe
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 } [ , ... ] ) ] [...]
Paramètres
-
Nom du schéma à créer.
Les schémas créés dans le catalogue
hive_metastorepeuvent uniquement contenir des caractères ASCII alphanumériques et des traits de soulignement (INVALID_SCHEMA_OR_RELATION_NAME). SI N'EXISTE PAS
Crée un schéma du nom spécifié s’il n’en existe pas. S’il existe déjà un schéma du même nom, rien ne se produit.
EMPLACEMENT
schema_directoryLOCATIONn’est pas pris en charge dans Unity Catalog. UtilisezMANAGED LOCATIONsi vous souhaitez spécifier un emplacement de stockage pour un schéma dans Unity Catalog.schema_directoryest un littéralSTRING. Le chemin du système de fichiers dans lequel le schéma spécifié doit être créé. Si le chemin spécifié n’existe pas dans le système de fichiers sous-jacent, crée un répertoire avec le chemin. Si l’emplacement n’est pas spécifié, le schéma est créé dans le répertoire par défaut de l’entrepôt, dont le chemin est défini par la configuration statiquespark.sql.warehouse.dir.Avertissement
Si un schéma (base de données) est inscrit dans votre metastore Hive au niveau de l’espace de travail, la suppression de ce schéma à l’aide de l’option
CASCADEentraîne la suppression récursive de tous les fichiers de cet emplacement de schéma, quel que soit le type de table (managé ou externe).Si le schéma est inscrit dans un metastore Unity Catalog, les fichiers des tables managées Unity Catalog sont supprimés de manière récursive. Toutefois, les fichiers des tables externes ne sont pas supprimés. Vous devez gérer ces fichiers directement à l’aide du fournisseur de stockage cloud.
Par conséquent, pour éviter toute perte accidentelle de données, vous ne devez jamais inscrire un schéma dans un metastore Hive à un emplacement contenant des données existantes. Vous ne devez pas non plus créer de tables externes dans un emplacement géré par des schémas de metastore Hive ou contenant des tables managées Unity Catalog.
COMMENTAIRE
schema_commentUn littéral
STRING. Description du schéma.COLLATION PAR DÉFAUT default_collation_name
S’applique à :
Databricks SQL
Databricks Runtime 17.1 et versions ultérieuresDéfinit éventuellement le classement par défaut pour les objets définis dans le schéma. S’il n’est pas spécifié, le classement par défaut est hérité du catalogue.
EMPLACEMENT MANAGÉ
location_pathMANAGED LOCATIONest facultatif et nécessite Unity Catalog. Si vous souhaitez spécifier un emplacement de stockage pour un schéma inscrit dans votre Hive au niveau de l’espace de travail ou dans un metastore tiers, utilisez plutôtLOCATION.location_pathdoit être un littéralSTRING. Spécifie le chemin d’accès à un emplacement racine de stockage pour le schéma différent de l’emplacement racine de stockage du catalogue ou du metastore. Ce chemin doit être défini dans une configuration d’emplacement externe, et vous devez disposer du privilègeCREATE MANAGED STORAGEsur la configuration d’emplacement externe. Vous pouvez utiliser le chemin défini dans la configuration de l’emplacement externe ou un sous-chemin (en d’autres termes,'abfss://container@storageaccount.dfs.core.windows.net/finance'ou'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Pris en charge dans Databricks SQL ou sur les clusters exécutant Databricks Runtime 11.3 LTS et versions ultérieures.Consultez également les tables managées du Unity Catalog dans Azure Databricks pour Delta Lake et Apache Iceberg et Créer un metastore Unity Catalog.
WITH DBPROPERTIES ( property_name = property_value [ , … ] )
Propriétés du schéma sous forme de paires clé-valeur.
OPTIONS
Définit les paramètres spécifiques au type de connexion nécessaires à l’identification du catalogue au niveau de la connexion.
optionLa clé d’option. La clé peut comporter un ou plusieurs identificateurs séparés par un point, ou un littéral
STRING.Les clés d’option doivent être uniques et respectent la casse.
valueValeur de l’option. La valeur doit être une
BOOLEANSTRING,INTEGERDECIMALou constante. La valeur peut également être un appel à la fonction SQLSECRET. Par exemple, levaluepourpasswordpeut comprendresecret('secrets.r.us', 'postgresPassword')au lieu d’entrer le mot de passe littéral.
Exemples
-- 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))