Elimine os silos de dados e evite alternar entre ferramentas usando um conector do Knowledge Catalog (antigo Dataplex Universal Catalog) para importar metadados do Databricks Unity Catalog diretamente para o Google Cloud.
Esse conector é compatível com instâncias do Databricks Unity Catalog hospedadas no Google Cloud, no Microsoft Azure ou no Amazon Web Services (AWS).
A tabela a seguir lista os metadados que o conector do Databricks Unity Catalog captura:
| Categoria | Metadados capturados |
|---|---|
| Técnico |
|
| Operacional |
|
| Negócios |
|
| Semântica |
|
Limitações
O conector do Databricks Unity Catalog tem as seguintes limitações:
- Não há suporte para linhagem.
- As tags semânticas e os glossários empresariais não são compatíveis com a integração (API Genie).
- O conector importa os metadados das tabelas do Iceberg, mas não vincula automaticamente as entradas importadas às entradas correspondentes do Iceberg REST Catalog (IRC) do Lakehouse Databricks Unity Catalog Google Cloud .
Antes de começar
Antes de importar metadados do Databricks Unity Catalog, conclua as seguintes tarefas:
- Conceda os papéis e as permissões necessários.
- Ative a API Dataplex e a API do serviço de transferência de dados do BigQuery.
- Atenda aos pré-requisitos do Databricks Unity Catalog.
- Atenda aos pré-requisitos de rede.
Permissões e papéis do IAM
Para criar e gerenciar um job do conector do Knowledge Catalog, você precisa de papéis do Identity and Access Management (IAM) que concedem permissões para o Knowledge Catalog e o serviço de transferência de dados do BigQuery.
Para receber as permissões necessárias para configurar um conector do Databricks Unity Catalog, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Para criar e gerenciar grupos de entrada:
Administrador do Dataplex Catalog
(
roles/dataplex.catalogAdmin), Editor do Dataplex Catalog (roles/dataplex.catalogEditor) ou Proprietário do grupo de entrada do Dataplex (roles/dataplex.entryGroupOwner) no projeto. - Para conferir os metadados do Unity Catalog do Databricks:
Leitor do Dataplex Catalog
(
roles/dataplex.catalogViewer) no projeto. - Para criar e gerenciar jobs de transferência do serviço de transferência de dados do BigQuery:
Administrador do BigQuery
(
roles/bigquery.admin) no projeto. - Para ver registros no Cloud Logging:
Visualizador de registros
(
roles/logging.viewer) no projeto.
Você também precisa conceder ao agente de serviço do serviço de transferência de dados do BigQuery
(service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)
os dois papéis a seguir:
- Importador de grupo de entrada do Dataplex
(
roles/dataplex.entryGroupImporter), no grupo de entrada de destino ou no projeto que o contém. Esse papel permite que o agente de serviço importe metadados para o grupo de entrada (dataplex.entryGroups.import). Proprietário de entradas e links de entradas do Dataplex (
roles/dataplex.entryOwner), no projeto que contém o grupo de entrada de destino. Esse papel permite que o agente de serviço importe metadados de uso, negócios e qualidade de dados, além de links de entrada. Ele inclui as seguintes permissões:dataplex.entryGroups.useDataProfileAspectdataplex.entryGroups.useDataQualityScorecardAspectdataplex.entryGroups.useManagedConnectorTypesdataplex.entryGroups.useReferenceEntryLinkdataplex.entryGroups.useSchemaAspectdataplex.entryGroups.useSchemaJoinAspectdataplex.entryGroups.useSchemaJoinEntryLinkdataplex.entryGroups.useUsageAspectdataplex.entryLinks.reference
Conceda esse papel no projeto, não apenas no grupo de entrada, porque a importação verifica a permissão
dataplex.entryLinks.referenceno projeto. Se o agente de serviço não tiver essa permissão no projeto, a execução da transferência vai falhar com um erro comoPermission 'dataplex.entryLinks.reference' denied, e nenhum metadado será importado.
Em vez de conceder esses dois papéis, é possível conceder o papel de
Proprietário do grupo de entrada do Dataplex
(roles/dataplex.entryGroupOwner) no projeto que contém o
grupo de entrada de destino. Esse papel inclui as permissões de ambos os papéis e
também permite que o agente de serviço crie, exclua e gerencie o acesso a todos os grupos de entrada
no projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Ativar APIs
Ative a API Dataplex e a API serviço de transferência de dados do BigQuery.
Pré-requisitos do Databricks Unity Catalog
A entidade de serviço usada para o conector do Databricks Unity Catalog precisa ter as seguintes permissões no Databricks Unity Catalog:
- Permissão
Can useno data warehouse do Databricks SQL usado pelo conector. - Privilégio
BROWSEnos catálogos de destino ouUSE CATALOG,USE SCHEMAeSELECTnos catálogos, esquemas e tabelas ou visualizações de destino. USE CATALOGno catálogosystem, além deUSE SCHEMAeSELECTnos seguintes esquemas do sistema:system.information_schema: necessário para ler catálogos, esquemas, tabelas, colunas, volumes, rotinas, restrições e tags.system.accessesystem.query: opcionais, necessários para importar métricas de uso, insights de uso e mesclagens de histórico de consultas.system.data_quality_monitoring: opcional, obrigatório para importar resultados de detecção de anomalias.
- Opcional:
USE CATALOG,USE SCHEMAeSELECTnas tabelas de saída do Lakehouse Monitoring (TABLE_NAME_profile_metricseTABLE_NAME_drift_metrics) para importar métricas de criação de perfil de dados e desvio.
Se você também quiser executar consultas SQL ou jobs do Spark no catálogo remoto do Databricks, consulte Configurar uma conexão entre nuvens para o catálogo do Databricks Unity.
Pré-requisitos de rede
Para permitir que o serviço de transferência de dados do BigQuery se conecte com segurança a bancos de dados externos ou fontes de dados em nuvem de terceiros com um endereço IP privado dentro de uma rede privada, configure um anexo de rede pelo Private Service Connect.
Se você se conectar a um ambiente local ou a uma instância hospedada na nuvem usando um endereço IP público, não será necessário um anexo de rede.
Configurar um conector do Databricks Unity Catalog
Configure um conector do Databricks Unity Catalog usando o console do Google Cloud ou a API REST.
Console
No console Google Cloud , acesse a página do Knowledge Catalog.
No menu de navegação, na seção Gerenciar, clique em Conectores e em Adicionar conexão.
Na lista Conectores, selecione o card Databricks Unity Catalog.
Na seção Detalhes da fonte de dados, forneça os detalhes de conexão da sua instância do Databricks Unity Catalog:
- Em Anexo de rede, selecione um anexo de rede existente, se necessário, ou crie um.
- Insira o host do espaço de trabalho, o caminho HTTP do SQL Warehouse, o ID do cliente e a chave secreta do cliente.
Em Objetos do Databricks para transferência, clique em Procurar para selecionar os metastores, catálogos, esquemas ou objetos individuais (tabelas, visualizações, volumes, funções e procedimentos) a serem importados para o Knowledge Catalog. Selecionar um metastore, catálogo ou esquema importa todos os objetos nele.
Também é possível inserir objetos manualmente no formato
TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], em queTYPEéMETASTORE,CATALOG,SCHEMA,TABLE,VIEW,VOLUME,FUNCTIONouPROCEDURE(por exemplo,SCHEMA:my_metastore/main/sales). Padrões de nome não são compatíveis.
Na seção Configurações de destino:
- Clique em Procurar e selecione um grupo de entradas do Knowledge Catalog para armazenar os metadados importados ou clique em Criar novo grupo de entradas.
- Selecione se você quer definir as permissões no grupo de entrada agora ou mais tarde.
Para permitir que os usuários vejam os metadados importados, defina permissões no
grupo de entrada. Se você não concedeu o papel de
Importador de grupo de entrada do Dataplex
(
roles/dataplex.entryGroupImporter) ou a permissãodataplex.entryGroups.importao agente de serviço do serviço de transferência de dados do BigQuery no nível do projeto, conceda-o nesse grupo de entrada. Ainda é necessário conceder o papel de Proprietário de entradas e links de entradas do Dataplex (roles/dataplex.entryOwner) no projeto, porque a permissãodataplex.entryLinks.referenceé verificada no nível do projeto. Para mais informações, consulte Papéis e permissões do IAM.
No campo Nome de exibição da seção Nome de configuração da transferência, insira um nome para o job de importação de metadados.
Na seção Opções de programação, configure a frequência do job de importação de metadados. Se você selecionar On demand, o job só será executado quando você o acionar manualmente.
Opcional: na seção Opções de notificação, configure uma notificação por e-mail ou Pub/Sub para falhas de job.
Opcional: na seção Opções avançadas, defina as configurações de criptografia. Se você selecionar uma chave de criptografia gerenciada pelo cliente (CMEK), ela vai criptografar todos os dados temporários preparados antes de iniciar os jobs de importação de metadados do Knowledge Catalog. A chave não criptografa os metadados no grupo de entrada de destino do Knowledge Catalog.
Clique em Salvar.
REST
Use o método projects.locations.transferConfigs.create. No recurso
TransferConfig,
configure os seguintes campos:
- Defina o campo
dataSourceIdcomo"databricks_unity" - No campo
metadataDestination, preencha o campodataplexConfiguration.entryGroupcom o caminho do recurso do grupo de entrada de destino do Knowledge Catalog:projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID. - No campo
params, defina os seguintes parâmetros:connector.host(obrigatório): o nome do host do espaço de trabalho do Databricks (por exemplo,dbc-a1b2345c-d6e7.cloud.databricks.com).connector.httpPath(obrigatório): o caminho HTTP do SQL warehouse do Databricks (por exemplo,/sql/1.0/warehouses/a1b2345c67890def).connector.authentication.oauth.clientId(obrigatório): o ID do cliente OAuth do Databricks.connector.authentication.oauth.clientSecret(obrigatório): a chave secreta do cliente OAuth do Databricks.connector.networkAttachment(opcional): o anexo de rede no formatoprojects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID.assets(obrigatório): a lista de objetos do Databricks Unity Catalog a serem importados no formatoTYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], como["SCHEMA:my_metastore/main/sales"].
- Opcional: para manter as credenciais do OAuth fora da configuração de transferência, armazene-as no Secret Manager:
- Defina
connector.authentication.oauth.clientSecret(econnector.authentication.oauth.clientId, se quiser) como o nome do recurso da versão do secret no formatoprojects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_IDe adicione esses nomes de parâmetro ao campoparamConfig.secretManagerManagedParams. - Conceda o papel de
Acessador de secrets do Secret Manager
(
roles/secretmanager.secretAccessor) em cada secret ao agente de serviço do serviço de transferência de dados do BigQuery do projeto que contém a configuração de transferência (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com). Os secrets podem estar em um projeto diferente. Se o agente de serviço não conseguir ler um secret, a execução vai falhar antes de começar com um erro comoFailed to retrieve secret ... Permission 'secretmanager.versions.access' denied. O serviço de transferência de dados do BigQuery lê os secrets no início de cada execução. Portanto, se você definirVERSION_IDcomolatest, um secret alternado será usado a partir da próxima execução.
- Defina
O exemplo a seguir mostra um corpo de solicitação TransferConfig:
{
"displayName": "databricks-unity-metadata-import",
"dataSourceId": "databricks_unity",
"schedule": "every 24 hours",
"params": {
"connector.host": "dbc-a1b2345c-d6e7.cloud.databricks.com",
"connector.httpPath": "/sql/1.0/warehouses/a1b2345c67890def",
"connector.authentication.oauth.clientId": "CLIENT_ID",
"connector.authentication.oauth.clientSecret": "CLIENT_SECRET",
"assets": [
"SCHEMA:my_metastore/main/sales"
]
},
"metadataDestination": {
"dataplexConfiguration": {
"entryGroup": "projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID"
}
}
}
O job é executado automaticamente com base na sua programação, ou você pode acioná-lo manualmente.
Monitorar um job do conector do Databricks Unity Catalog
Monitore um job do conector do Databricks Unity Catalog usando o console doGoogle Cloud ou a API REST.
Console
- No console do Google Cloud , na página Conectores, clique no Nome de exibição do job de transferência do Databricks Unity Catalog.
- Na guia Histórico de execução, clique em Ver detalhes para conferir os registros.
- Para ver as entradas criadas, clique na guia Detalhes e, em seguida, no link do grupo de entradas Destino de metadados.
REST
- Para listar as execuções de uma configuração de transferência e conferir o estado delas, use o método
projects.locations.transferConfigs.runs.list. Cada execução importa os metadados coletados para o Knowledge Catalog com um job de importação de metadados com o ID
dts-run-RUN_ID. Para ver o resultado da importação, como o número de entradas criadas, filtre os registros do job no Logging usando a seguinte consulta:logName="projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job" AND resource.labels.metadata_job_id="dts-run-RUN_ID"Para ver o resultado de uma importação sem usar o Logging, chame o método
projects.locations.metadataJobs.getemprojects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_ID. O campoimportResultmostra o número de entradas e links de entrada criados, atualizados, inalterados e excluídos.
Pesquisar e visualizar metadados do Databricks Unity Catalog
No console Google Cloud , acesse a página Pesquisa do Knowledge Catalog.
No painel Filtros, filtre os recursos do Databricks Unity Catalog usando as seções Projeto, Sistemas e Aliases de tipo. Para filtrar todos os metadados do Databricks Unity Catalog, na seção Sistemas, selecione Contexto importado e, na subseção Conectores gerenciados, selecione Databricks Unity.
No campo de pesquisa, digite uma palavra-chave ou uma consulta de pesquisa com linguagem natural. Por exemplo, para ver todos os recursos do Databricks Unity Catalog usando a pesquisa por palavra-chave, digite
system=DATABRICKS.Para saber mais sobre como pesquisar recursos, consulte Pesquisar recursos no Knowledge Catalog. Para saber mais sobre as expressões que podem ser usadas no campo de pesquisa, consulte Sintaxe de pesquisa do Knowledge Catalog.
Também é possível usar a API
LookupContext
para recuperar o contexto do LLM para recursos específicos do Databricks Unity Catalog. Para
mais informações, consulte Recuperar contexto para recursos de
dados.
A seguir
- Saiba como gerenciar jobs de conector.