Partilhar via


Ativar a federação do catálogo OneLake

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esta funcionalidade ativando a funcionalidade OneLake Read Federation na página de Pré-visualizações . Consulte Gerenciar visualizações do Azure Databricks.

Depois de ativar a funcionalidade, deve reiniciar o seu cluster de computação ou SQL warehouse.

Este artigo mostra como ler dados no OneLake usando a federação de catálogos. Isto permite que as consultas do Catálogo Unity sejam executadas diretamente contra o armazenamento OneLake.

A Federação OneLake permite-lhe analisar dados armazenados no seu Lakehouse ou Warehouse sem os copiar, trazendo capacidades poderosas de análise e IA/BI no Azure Databricks diretamente para os seus dados do OneLake. O acesso aos dados é apenas de leitura.

Antes de começar

Deve cumprir os seguintes requisitos para executar consultas federadas no OneLake usando a federação de catálogos:

Requisitos do espaço de trabalho:

  • Espaço de trabalho habilitado para o Unity Catalog.

Requisitos de computação:

  • Conectividade de rede do seu recurso de computação para os sistemas de banco de dados de destino. Consulte as recomendações de rede para a Lakehouse Federation.
  • A computação do Azure Databricks deve usar Databricks Runtime 18.0 ou superior e o modo de acesso Standard. O modo de acesso dedicado não é suportado.
  • Os warehouses SQL devem ser profissionais e devem usar a versão 2025.35 ou superior. Os warehouses SQL serverless não são suportados.

Permissões necessárias:

  • Para criar uma ligação, deve ser administrador do metastore ou utilizador com os privilégios CREATE CONNECTION e CREATE STORAGE CREDENTIAL no metastore do Unity Catalog anexado ao espaço de trabalho.
  • Para criar um catálogo estrangeiro, você deve ter a permissão CREATE CATALOG no metastore e ser o proprietário da conexão ou ter o privilégio de CREATE FOREIGN CATALOG na conexão.

Os requisitos de permissão adicionais são especificados em cada seção baseada em tarefas a seguir.

  • Tens de ter permissões para criar recursos no Azure, configurar o acesso no Fabric e gerir o Unity Catalog no Azure Databricks.
  • Métodos de autenticação suportados:
    • Azure Managed Identity através de um Access Connector para Azure Databricks
    • Principal de serviço do Azure
  • Depois de ativar esta funcionalidade Beta, deve reiniciar o seu cluster de computação ou SQL warehouse.

Os seguintes itens de dados Fabric são suportados:

  • Casa do Lago Fabric
  • Armazém de Tecidos

Configurar a federação de catálogos

Os passos seguintes guiam você na criação da conexão e do catálogo externo para a federação OneLake.

Passo 1: Configurar a autenticação do Azure

A federação OneLake suporta dois métodos de autenticação.

  • Azure Managed Identity (recomendado): Utiliza um Databricks Access Connector com identidade gerida.
  • Azure Service Principal: Utiliza uma aplicação Microsoft Entra ID com credenciais de cliente.

Opção A: Criar um conector de acesso (Identidade Gerida)

O Databricks Access Connector cria uma identidade gerida que o Azure Databricks utiliza para autenticar com o OneLake.

  1. No Azure Portal, pesquise e crie um novo Access Connector para o recurso Azure Databricks .

  2. Siga as instruções para criar o conector. Este recurso cria uma Identidade Gerida atribuída pelo sistema.

  3. Registar o ID de Recurso do conector recém-criado. Precisas deste ID ao criar a credencial de armazenamento do Unity Catalog.

    O ID do recurso está no formato:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    

Para mais informações sobre criação de conectores de acesso e utilização de identidades geridas, consulte Usar identidades geridas Azure no Unity Catalog para aceder a armazenamento.

Opção B: Registar um principal de serviço

Se preferir usar um principal de serviço em vez de uma identidade gerida:

  1. No portal do Azure, navegue até Microsoft Entra ID>App registrations e registe uma nova aplicação (ou use uma já existente).
  2. Regista o ID da Aplicação (cliente) e o ID do Diretório (inquilino).
  3. Em Certificados e segredos, crie um novo segredo de cliente e registre o valor do segredo.

Passo 2: Conceder permissões no Fabric

Conceda permissão à identidade gerida ou ao serviço principal para ler os dados do Fabric.

  1. No portal do Fabric, aceda ao espaço de trabalho que contém os seus itens de dados do Lakehouse ou do Warehouse.
  2. No espaço de trabalho, clique no ícone das definições de espaço de trabalho (engrenagem), depois clique em Gerir acesso.
  3. Clica em Adicionar pessoas ou grupos.
  4. Procure e selecione a Identidade Gerida ou o principal de serviço. Para Identidade Gerida, o nome deve corresponder ao conector de acesso que criou anteriormente. Para um principal de serviço, procure o nome da aplicação que registou.
  5. Atribua à identidade o papel de Membro, pelo menos. Também pode atribuir funções de Contribuinte ou Administrador .
  6. Clique em Adicionar.
  7. Verifique se a identidade aparece na lista de acesso com o papel apropriado. As permissões sobre itens individuais do Lakehouse e do Warehouse são herdadas da função ao nível do espaço de trabalho.

Passo 3: Criar uma credencial de armazenamento

Crie uma credencial de armazenamento no Unity Catalog que faça referência à identidade que configurou no Passo 1.

  1. No seu espaço de trabalho do Azure Databricks, clique no ícone Dados.Catálogo.
  2. No topo do painel do Catálogo, clique no ícone de adicionar ou ícone de mais e selecione Criar uma credencial no menu.

Se estiver a usar uma Identidade Gerida:

  1. Em Criar um novo modal de credencial , para Tipo de Credencial, escolha Azure Managed Identity.
  2. Para o nome da credencial, insira um nome para a credencial de armazenamento (por exemplo, onelake_storage_cred).
  3. Para o ID do conector de acesso, introduza o ID do recurso do conector de acesso que criou anteriormente.
  4. (Opcional) Adicione um comentário.
  5. Clique em Criar.

Se estiver a usar um Principal de Serviço:

Não pode criar uma credencial de armazenamento principal de serviço usando o Explorador de Catálogos. Deve ser administrador de contas Azure Databricks e usar a API de Credenciais de Armazenamento. Por exemplo:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

Você também pode criar uma credencial de armazenamento usando o provedor Databricks Terraform e databricks_storage_credential.

Passo 4: Criar uma ligação ao Catálogo Unity

Crie uma ligação ao Unity Catalog que use a credencial de armazenamento para aceder ao OneLake.

  1. No seu espaço de trabalho do Azure Databricks, clique no ícone Dados.Catálogo.
  2. No topo do painel Catálogo, clique no ícone de adicionar ou mais e selecione Criar uma ligação no menu.
  3. Na página de noções básicas da Ligação , introduza um nome da Ligação (por exemplo, onelake_connection).
  4. Selecione um tipo de Ligaçãodo OneLake.
  5. (Opcional) Adicione um comentário.
  6. Clique em Next.
  7. Na página de Detalhes da Ligação , para Credencial, selecione a credencial de armazenamento que criou no passo anterior (por exemplo, onelake_storage_cred).
  8. No campo Workspace, introduza o ID do seu espaço de trabalho OneLake.
  9. Clique em Criar conexão.

Depois de criada a ligação, podes sair deste modal.

Passo 5: Criar um catálogo estrangeiro

Um catálogo estrangeiro liga um item específico de dados Fabric a um catálogo no Unity Catalog.

Obtenha o ID do item de dados Fabric

  1. No portal Tecido, navega até à Casa do Lago ou Armazém alvo.

  2. Copie o ID do Item de Dados, que é um GUID (por exemplo, f089354e-8366-4e18-aea3-4cb4a3a50b48).

    Pode encontrar este GUID na interface do Fabric ou copiando-o do URL do seu navegador ao navegar até ao Lakehouse ou Warehouse:

    https://app.powerbi.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
    

Criar o catálogo

  1. No seu espaço de trabalho Databricks, clique no ícone Data.Catálogo.
  2. No topo do painel de Catálogo, clique no ícone de adicionar ou de mais e selecione Criar um catálogo no menu.
  3. No diálogo Criar um novo catálogo , insira um nome para o catálogo (por exemplo, fabric_sales).
  4. Selecione um tipo de estrangeiro.
  5. Selecione a Ligação que criou no Passo 4 (por exemplo, onelake_connection).
  6. Para o item de dados, introduza o ID do item de dados que copiou do portal Fabric.
  7. (Opcional) Clica em Testar ligação para validar a tua configuração.
  8. Clique em Criar.

O catálogo sincroniza automaticamente, tornando as tabelas Fabric imediatamente disponíveis.

Conceder permissões em tabelas federadas

Após configurar a federação de catálogos, os utilizadores devem ter as permissões apropriadas do Catálogo Unity para aceder a tabelas federadas:

  • Todos os utilizadores precisam de permissões USE CATALOG no catálogo e USE SCHEMA no esquema, respetivamente.
  • Para ler da tabela federada, os utilizadores precisam da SELECT permissão.

Para mais informações sobre privilégios do Catálogo Unity e como os conceder, consulte Gerir privilégios no Catálogo Unity.

Consultar dados OneLake

Depois de concluída a configuração, pode encontrar e consultar os dados do OneLake no Unity Catalog.

Consulte o catálogo

  1. No seu espaço de trabalho Databricks, navegue até Explorador de Catálogos.
  2. Localize o catálogo que criou (por exemplo, fabric_sales).
  3. Expanda o catálogo para visualizar os esquemas e as tabelas sincronizadas do Fabric Lakehouse ou Warehouse.

Executar consultas

Utilize a convenção de nomenclatura tripartida (catalog.schema.table) no Databricks SQL ou notebooks:

SELECT COUNT(*)
FROM fabric_sales.silver.customer_details;
SELECT
  customer_id,
  customer_name,
  total_purchases
FROM fabric_sales.silver.customer_details
WHERE total_purchases > 1000
ORDER BY total_purchases DESC
LIMIT 10;

Limitações

A federação OneLake tem as seguintes limitações:

  • Acesso apenas de leitura: Apenas SELECT consultas são suportadas. Operações de escrita não estão disponíveis.
  • Autenticação: Azure Managed Identity e Azure Service Principle são os métodos de autenticação suportados.
  • Itens de dados suportados: Apenas itens Fabric Lakehouse e Warehouse são suportados.
  • Requisitos de computação: Deve usar Databricks Runtime 18.0 ou superior. O modo de acesso dedicado e a computação serverless não são suportados.