registre seu banco de dados em Unity Catalog
Visualização
Esse recurso está em Public Preview nas seguintes regiões: us-east-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, us-east-2, ap-south-1.
O provisionamento Lakebase usa compute de provisionamento que você escala manualmente. Para comparação de recursos com o novo dimensionamento automático do Lakebase, consulte a seção "Escolhendo entre versões".
Esta página explica como registrar o banco de dados do Lakebase como um catálogo Unity Catalog somente para leitura. Isso permite que o senhor use os privilégios do Unity Catalog para gerenciar o acesso aos dados e aproveitar integrações como a sincronização de dados do gerenciar.
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 privilégios
CREATE CATALOGno metastore do Unity Catalog.
Crie um catálogo
Para registrar um banco de dados com Unity Catalog, use a interface do usuário Databricks, a chamada API, Python SDK, ou CLI.
- UI
- Python SDK
- CLI
- curl
-
Clique
Acesse os aplicativos no canto superior direito e selecione Lakebase Postgres .
-
Clique em provisionamento para abrir a página de instâncias de provisionamento .
-
Selecione sua instância de banco de dados.
-
Selecione a página Catálogos na barra lateral do aplicativo Lakebase.
-
Clique em Adicionar catálogo no canto superior direito.
-
Na caixa de diálogo Adicionar catálogo :
- Nome do catálogo : Insira o nome do catálogo Unity Catalog desejado.
- Banco de dados Postgres : Selecione um banco de dados Postgres existente no menu suspenso (por exemplo,
databricks_postgres), ou insira um novo nome de banco de dados para criá-lo junto com o catálogo.
-
Clique em Criar .
-
Após a criação, clique no catálogo na lista Catalogs para ver o Catalog Explorer view.
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}")
# 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
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 dos bancos de dados devem conter apenas caracteres alfanuméricos ou sublinhados. Observe que os nomes dos bancos de dados não podem incluir hífens.
-
O catálogo criado no Unity Catalog com base no banco de dados é somente leitura.
-
As instâncias de banco de dados são limitadas a um único workspace e não suportam acesso entreworkspace . Os usuários podem visualizar essas tabelas no Catalog Explorer se tiverem as permissões necessárias Unity Catalog de outro espaço de trabalho conectado ao mesmo metastore, mas não podem acessar o conteúdo das tabelas.
-
Os nomes do catálogo devem seguir as restrições existentes para nomes de objetos protegíveis do Unity Catalog.
Explorar objetos Postgres no Unity Catalog por meio de um Database Catalog
Para view o catálogo, verifique se o senhor tem um serverless SQL warehouse em execução anexado.
- Clique em Catalog na barra lateral workspace.
- No navegador do Catálogo , clique em cluster e selecione um serverless SQL warehouse em execução como seu recurso compute.
- Clique em começar e fechar .
Ao abrir o catálogo, os esquemas e as tabelas, as sincronizações devem ser acionadas 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 acionar um refresh completo, clique em .
Excluir um catálogo de banco de dados no Unity Catalog
Você precisa ser proprietário de um catálogo de banco de dados ou administrador da metastore para excluí-lo.
A Databricks recomenda que o senhor exclua primeiro todas as tabelas sincronizadas do catálogo do 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 Unity Catalog depois que um catálogo de banco de dados for excluído. As tabelas sincronizadas pendentes de exclusão no Unity Catalog contam para o limite de 20 tabelas sincronizadas por tabela de origem.
Use a UI do Databricks, o Python SDK, a CLI ou a API para excluir um catálogo de banco de dados.
- UI
- Python SDK
- CLI
- curl
- Clique
Acesse os aplicativos no canto superior direito e selecione Lakebase Postgres .
- Clique em provisionamento para abrir a página de instâncias de provisionamento .
- Selecione sua instância de banco de dados.
- Selecione a página Catálogos na barra lateral do aplicativo Lakebase.
- Para o catálogo que deseja excluir, clique
no lado direito da fileira.
- Clique em Excluir .
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}")
# Delete a database catalog
databricks database delete-database-catalog my_catalog
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 descartar o banco de dados Postgres.