Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
Cria um esquema (banco de dados) com o nome especificado. Se já existir um esquema com o mesmo nome, uma exceção será lançada.
Sintaxe
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 } [ , ... ] ) ] [...]
Parâmetros
-
O nome do esquema a ser criado.
Os esquemas criados no catálogo
hive_metastoresó podem conter caracteres ASCII alfanuméricos e sublinhados (INVALID_SCHEMA_OR_RELATION_NAME). SE NÃO EXISTIR
Cria um esquema com o nome especificado, se ele não existir. Se já existir um esquema com o mesmo nome, nada acontecerá.
LOCALIZAÇÃO
schema_directoryLOCATIONnão é suportado no Catálogo Unity. Se desejar especificar um local de armazenamento para um esquema no Unity Catalog, useMANAGED LOCATION.schema_directoryé umSTRINGliteral. O caminho do sistema de arquivos no qual o esquema especificado deve ser criado. Se o caminho especificado não existir no sistema de arquivos subjacente, criará um diretório com o caminho. Se o local não for especificado, o esquema será criado no diretório de depósito padrão, cujo caminho é configurado pela configuração estáticaspark.sql.warehouse.dir.Aviso
Se um esquema (banco de dados) estiver registrado em seu metastore do Hive no nível do espaço de trabalho, descartar esse esquema usando a opção
CASCADEfará com que todos os arquivos nesse local do esquema sejam excluídos recursivamente, independentemente do tipo de tabela (gerenciada ou externa).Se o esquema estiver registrado em um metastore do Unity Catalog, os arquivos do Unity Catalog tabelas gerenciadas serão excluídos recursivamente. No entanto, os arquivos para tabelas externas não são excluídos. Você deve gerenciar esses arquivos usando o provedor de armazenamento em nuvem diretamente.
Portanto, para evitar a perda acidental de dados, você nunca deve registrar um esquema em um metastore do Hive em um local com dados existentes. Também não deve criar novas tabelas externas em um local gerenciado por esquemas de metastore do Hive ou contendo tabelas gerenciadas do Unity Catalog.
COMENTAR
schema_commentUm
STRINGliteral. A descrição do esquema.COTEJAMENTO PADRÃO default_collation_name
Aplica-se a:
Databricks SQL
Databricks Runtime 17.1 e superiorOpcionalmente, define o agrupamento padrão para objetos definidos dentro do esquema. Se não for especificado, o agrupamento padrão será herdado do catálogo.
LOCALIZAÇÃO GERIDA
location_pathMANAGED LOCATIONé opcional e requer o Catálogo Unity. Se você quiser especificar um local de armazenamento para um esquema registrado no Hive no nível do espaço de trabalho ou no metastore de terceiros, useLOCATIONem vez disso.location_pathdeve ser umSTRINGliteral. Indica o caminho para um local raiz de armazenamento do esquema que é diferente do local raiz de armazenamento do catálogo ou metastore. Esse caminho deve ser definido em uma configuração de local externo e você deve ter oCREATE MANAGED STORAGEprivilégio na configuração de local externo. Você pode usar o caminho definido na configuração do local externo ou um subcaminho (em outras palavras,'abfss://container@storageaccount.dfs.core.windows.net/finance'ou'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Suportado em Databricks SQL ou em clusters que executam o Databricks Runtime 11.3 LTS e superior.Consulte também Tabelas gerenciadas do Catálogo Unity no Azure Databricks para Delta Lake e Apache Iceberg e Criar um metastore do Catálogo Unity.
COM PROPRIEDADES_BD ( { nome_propriedade = valor_propriedade } [ , ... ] )
As propriedades do esquema em pares chave-valor.
OPÇÕES
Define os parâmetros específicos do tipo de conexão necessários para identificar o catálogo na conexão.
optionA tecla de opção. A chave pode consistir em um ou mais identificadores separados por um ponto ou um
STRINGliteral.As teclas de opção devem ser exclusivas e são sensíveis a maiúsculas e minúsculas.
valueO valor da opção. O valor deve ser uma
BOOLEANSTRING,INTEGER,DECIMAL, ou constante. O valor também pode ser uma chamada para aSECRETfunção SQL. Por exemplo, ovalueforpasswordpode incluirsecret('secrets.r.us', 'postgresPassword')em vez de digitar a senha literal.
Exemplos
-- 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))