CRIAR CATÁLOGO
Aplica-se a: SQL do Databricks Databricks Runtime 10.4 LTS e versões posteriores Somente Catálogo do Unity
Cria um catálogo com o nome especificado. Se um catálogo com o mesmo nome já existir, uma exceção será gerada.
Quando você cria um catálogo FOREIGN
, ele será preenchido com todos os esquemas e suas tabelas visíveis para o usuário sendo autenticado.
Sintaxe
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 } [ , ... ] )
Parâmetros
FOREIGN
Aplica-se a: SQL do Databricks Databricks Runtime 13.3 LTS e versões posteriores
Especifica que o catálogo é importado de uma CONNECTION.
IF NOT EXISTS
Cria um catálogo com o nome fornecido se ele não existir. Se um catálogo com o mesmo nome já existir, nada acontecerá.
-
O nome do catálogo a ser criado.
USING SHARE provider_name
.
share_nameOpcionalmente especifica que o catálogo é baseado em um compartilhamento Delta Sharing.
-
O nome do provedor Delta Sharing que forneceu o compartilhamento.
-
O nome do compartilhamento fornecido pelo provider_name.
-
MANAGED LOCATION
'location_path'
Opcionalmente, especifica o caminho para um local de armazenamento gerenciado ou catálogo que seja diferente do local raiz de armazenamento do metastore. Esse caminho deve ser definido em uma configuração de localização externa e você deve ter o privilégio
CREATE MANAGED STORAGE
nessa configuração. É possível usar o caminho definido na configuração de localização externa ou um subcaminho (ou seja,'abfss://container@storageaccount.dfs.core.windows.net/finance'
ou'abfss://container@storageaccount.dfs.core.windows.net/finance/product'
). Com suporte no Databricks SQL ou em clusters que executam o Databricks Runtime 11.3 LTS e posteriores.Confira também Trabalhara com tabelas gerenciadas e Criar um metastore do Catálogo do Unity.
USING CONNECTION connection_name
Especifica a conexão na qual o catálogo de origem reside.
comment
Um literal
STRING
opcional. A descrição do catálogo.OPÇÕES
Define os parâmetros específicos do tipo de conexão necessários para identificar o catálogo na conexão.
option_name
A chave de opção. A chave pode consistir de um ou mais identificadores separados por um ponto ou uma literal de
STRING
.As chaves de opção devem ser exclusivas e diferenciar maiúsculas de minúsculas.
option_value
O valor para a opção. O valor deve ser uma expressão de constante
BOOLEAN
,STRING
,INTEGER
ouDECIMAL
. O valor também pode ser uma chamada para a função SQLSECRET
. Por exemplo, ovalue
para apassword
pode ser composto desecret('secrets.r.us', 'postgresPassword')
em vez de inserir a senha literal.
Exemplos
-- 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');