Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esse recurso está em Visualização Pública nas seguintes regiões: westus, , westus2, eastus, eastus2, centralus, southcentralus, , northeurope, westeurope, , australiaeast, , brazilsouth, , canadacentral, , centralindia, , southeastasiauksouth.
Esta página explica como registrar seu banco de dados Lakebase como um catálogo somente-leitura do Unity Catalog. Isso permite que você use privilégios do Catálogo do Unity para gerenciar o acesso a dados e aproveitar integrações como sincronização de dados gerenciados.
Propriedade e permissões
- Se o banco de dados não existir, ele poderá ser criado junto com o catálogo. Nesse caso, a propriedade dos objetos seguirá essas diretrizes.
- Além disso, o criador do catálogo deve ter os
CREATE CATALOGprivilégios no metastore do Catálogo do Unity.
Criar um catálogo
Para registrar um banco de dados com o Catálogo do Unity, use a interface do usuário do Azure Databricks, a chamada à API, o SDK do Python ou a CLI.
interface do usuário
- Clique em Computação na barra lateral do workspace.
- Na guia Instâncias de banco de dados, selecione sua instância de banco de dados.
- Na guia Catálogos , clique em Criar catálogo.
- Você pode registrar um banco de dados existente como um catálogo do Unity Catalog ou criar um novo. Use uma das seguintes opções:
- Para usar um banco de dados existente: insira o nome do catálogo do Unity desejado e o nome do banco de dados Postgres existente. O banco de dados
databricks_postgrespadrão pode ser usado como o nome do banco de dados. - Para criar um novo banco de dados Postgres e um catálogo do Catálogo do Unity ao mesmo tempo: insira o nome de catálogo desejado e ative Criar novo banco de dados.
- Para usar um banco de dados existente: insira o nome do catálogo do Unity desejado e o nome do banco de dados Postgres existente. O banco de dados
- Clique em Criar.
- Após a criação, clique no catálogo na lista Catálogos para ver a exibição do Gerenciador de Catálogos.
SDK do Python
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseCatalog
# Initialize the Workspace client
w = WorkspaceClient()
# Register an existing database as a UC catalog
catalog = w.database.create_database_catalog(
DatabaseCatalog(
name="my_catalog", # Name of the UC catalog to create
database_instance_name="my-instance", # Name of the database instance
database_name="databricks_postgres", # Name of the existing Postgres database
)
)
print(f"Created database catalog: {catalog.name}")
# Create a new database and register it as a UC catalog
catalog = w.database.create_database_catalog(
DatabaseCatalog(
name="new_catalog", # Name of the UC catalog to create
database_instance_name="my-instance", # Name of the database instance
database_name="new_database", # Name of the Postgres database to register (and optionally create)
create_database_if_not_exists=True # Create the database if it doesn't exist
)
)
print(f"Created new database and catalog: {catalog.name}")
CLI
# Register an existing database as a UC catalog
databricks database create-database-catalog my_catalog my-instance databricks_postgres
# Create a new database and register it as a UC catalog
databricks database create-database-catalog new_catalog my-instance new_database \
--create-database-if-not-exists
encurvar
export PG_DATABASE_NAME="<name of the PG database to sync to UC>"
export CATLAOG_NAME="<name of UC catalog to create>"
// Optional
export CREATE_DATABASE_IF_NOT_EXISTS="<whether to create a new database>"
curl -X POST --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs \
--data-binary @- << EOF
{
"name": "$CATALOG_NAME",
"database_name": "$PG_DATABASE_NAME",
"instance_name": "$INSTANCE_NAME",
"create_database_if_not_exists": "$CREATE_DATABASE_IF_NOT_EXISTS" // optional
}
Limitações
- Os nomes de banco de dados devem conter apenas caracteres alfanuméricos ou sublinhados. Observe que os nomes de banco de dados não podem incluir hifens.
- O catálogo criado no Unity Catalog com base no banco de dados é somente leitura.
Explorar objetos postgres no Catálogo do Unity por meio de um catálogo de banco de dados
Para exibir o catálogo, verifique se você tem um SQL Warehouse sem servidor em execução anexado.
- Clique em Catálogo na barra lateral do workspace.
- No navegador Catálogo , clique no cluster e selecione um SQL Warehouse sem servidor em execução como seu recurso de computação.
- Clique em Iniciar e feche.
À medida que você abre o catálogo, os esquemas e as tabelas, as sincronizações devem ser disparadas automaticamente. No entanto, a interface do usuário pode armazenar dados em cache para reduzir o número de solicitações do Postgres, portanto, novos objetos podem não aparecer imediatamente.
Para disparar uma atualização completa, clique em
.
Excluir um catálogo de banco de dados no Catálogo do Unity
Você deve ser o proprietário de um catálogo de banco de dados ou de um administrador de metastore para excluí-lo.
O Databricks recomenda que você exclua primeiro todas as tabelas sincronizadas do catálogo de banco de dados. Cada tabela de origem só pode ser usada para criar 20 tabelas sincronizadas e pode levar até três dias para que as tabelas sincronizadas sejam limpas no Catálogo do Unity após a exclusão de um catálogo de banco de dados. Tabelas sincronizadas pendentes de exclusão no Catálogo do Unity contam para o limite de 20 tabelas sincronizadas por tabela de origem.
Use a interface do usuário do Azure Databricks, o SDK do Python, a CLI ou a API para excluir um catálogo de banco de dados.
interface do usuário
- Clique em Catálogo na barra lateral do workspace.
- Selecione o catálogo de banco de dados que você deseja excluir do painel Catálogo .
- Clique no
clique em Excluir.
SDK do Python
from databricks.sdk import WorkspaceClient
# Initialize the Workspace client
w = WorkspaceClient()
# Delete a database catalog
catalog_name = "my_catalog"
w.database.delete_database_catalog(name=catalog_name)
print(f"Deleted database catalog: {catalog_name}")
CLI
# Delete a database catalog
databricks database delete-database-catalog my_catalog
encurvar
curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs/$CATALOG_NAME
Depois que o catálogo for excluído, você poderá renomear ou remover o banco de dados postgres.