Compartilhar via


Integre o Catálogo do Unity do Databricks com o OneLake

Este cenário mostra como integrar tabelas Delta externas do Catálogo do Unity ao OneLake usando atalhos. Depois de concluir este tutorial, você poderá sincronizar automaticamente suas tabelas Delta externas do Catálogo do Unity com um lakehouse do Microsoft Fabric.

Pré-requisitos

Antes de se conectar, você deve ter:

Configurar sua conexão do Cloud Storage

Primeiro, examine quais locais de armazenamento no Azure Data Lake Storage Gen2 (ADLS Gen2) suas tabelas do Catálogo do Unity estão usando. Esta conexão de armazenamento em nuvem é usada pelos atalhos do OneLake. Para criar uma conexão de nuvem com o local de armazenamento apropriado do Catálogo do Unity:

  1. Crie uma conexão de armazenamento em nuvem usada por suas tabelas do Catálogo do Unity. Veja como configurar uma conexão do ADLS Gen2.

  2. Depois de criar a conexão, obtenha a ID de conexão selecionando Configurações >Gerenciar conexões e gateways>Conexões>Configurações.

Captura de tela mostrando a ID de conexão do ADLS Gen2.

Observação

Conceder aos usuários acesso direto no nível de armazenamento ao armazenamento de um local externo no ADLS Gen2 não respeita quaisquer permissões concedidas ou auditorias mantidas pelo Catálogo do Unity. O acesso direto ignorará auditoria, linhagem e outros recursos de segurança/monitoramento do Catálogo do Unity, incluindo controle de acesso e permissões. Você é responsável por gerenciar o acesso direto ao armazenamento por meio do ADLS Gen2 e garantir que os usuários tenham as permissões apropriadas concedidas por meio do Fabric. Evite todos os cenários que concedem acesso direto para gravação no nível de armazenamento para buckets que armazenam tabelas gerenciadas do Databricks. Modificar, excluir ou evoluir diretamente por meio do armazenamento quaisquer objetos que foram originalmente gerenciados pelo Catálogo do Unity pode resultar em corrupção de dados.

Executar o notebook

Depois que a ID de conexão na nuvem for obtida, integre as tabelas do Catálogo do Unity ao lakehouse do Fabric da seguinte maneira:

Captura de tela mostrando o fluxo de atalhos do Catálogo do Unity ao Fabric.

  1. Importe o notebook de sincronização para o workspace do Fabric. Este notebook exporta todos os metadados de tabelas do Catálogo do Unity de um determinado catálogo e esquemas em seu metastore.

  2. Configure os parâmetros na primeira célula do notebook para integrar tabelas do Catálogo do Unity. A API do Databricks, autenticada por meio do token PAT, é utilizada para exportar tabelas do Catálogo do Unity. O snippet a seguir é usado para configurar os parâmetros de origem (Catálogo do Unity) e destino (OneLake). Substitua-os por seus próprios valores.

    # Databricks workspace
    dbx_workspace = "<databricks_workspace_url>"
    dbx_token = "<pat_token>"
    # Unity Catalog
    dbx_uc_catalog = "catalog1"
    dbx_uc_schemas = '["schema1", "schema2"]'
    
    # Fabric
    fab_workspace_id = "<workspace_id>"
    fab_lakehouse_id = "<lakehouse_id>"
    fab_shortcut_connection_id = "<connection_id>"
    # If True, UC table renames and deletes will be considered
    fab_consider_dbx_uc_table_changes = True
    
  3. Execute todas as células do notebook para iniciar a sincronização de tabelas Delta do Catálogo do Unity com o OneLake usando atalhos. Depois que o notebook for concluído, os atalhos para as tabelas Delta do Catálogo do Unity estarão disponíveis no lakehouse, no ponto de extremidade de análise do SQL e no modelo semântico.

Agendar o notebook

Se você quiser executar o notebook em intervalos regulares para integrar tabelas Delta do Catálogo do Unity ao OneLake sem ressincronização/execução manual, poderá agendar notebook ou utilizar uma atividade de notebook em um pipeline de dados no Data Factory do Fabric.

No último cenário, se você pretende passar parâmetros do pipeline de dados, designe a primeira célula do notebook como uma célula de parâmetro de alternância e forneça os parâmetros apropriados no pipeline.

Captura de tela mostrando os parâmetros de atividade do notebook.

Outras considerações

  • Para cenários de produção, recomendamos usar o OAuth Databricks para autenticação e o Azure Key Vault para gerenciar segredos. Por exemplo, você pode usar os utilitários de credenciais do MSSparkUtils para acessar segredos do Key Vault.
  • O notebook funciona com tabelas Delta externas do Catálogo do Unity. Se você estiver usando vários locais de armazenamento em nuvem para suas tabelas do Catálogo do Unity, ou seja, mais de um ADLS Gen2, a recomendação é executar o notebook separadamente por cada conexão de nuvem.
  • Não há suporte para tabelas Delta gerenciadas pelo Catálogo do Unity, exibições, exibições materializadas, tabelas de streaming e tabelas que não sejam Delta.
  • As alterações nos esquemas de tabela do Catálogo d Unity, como adicionar/excluir colunas, são refletidas automaticamente nos atalhos. No entanto, algumas atualizações, como a renomeação e exclusão da tabela do Catálogo do Unity, exigem uma ressincronização/nova execução do notebook. Isso é considerado pelo parâmetro fab_consider_dbx_uc_table_changes.
  • Para cenários de gravação, o uso da mesma camada de armazenamento em diferentes mecanismos de computação pode resultar em consequências não intencionais. Certifique-se de entender as implicações ao usar diferentes mecanismos de computação do Apache Spark e versões de tempo de execução.