Liga-te a bases de dados e catálogos externos

O Azure Databricks oferece múltiplas opções para consultar e aceder a dados em bases de dados e catálogos externos sem migrar os seus dados. Escolha a abordagem com base no seu padrão de acesso, requisitos de governação, necessidades de escrita e preferências de computação.

Escolha uma abordagem

A tabela seguinte compara a federação de consultas e a federação de catálogos para o ajudar a escolher a abordagem correta.

Description Execução da consulta Suporte de escrita Governance Melhor para
Federação de consultas Executar consultas federadas em bases de dados relacionais externas através de JDBC, com delegação automática de consultas e governação do Unity Catalog através de catálogos externos. Transferido para a base de dados externa através de JDBC. A consulta corre tanto no Azure Databricks como em computação remota. Não suportado (apenas leitura). Catálogo externo do Unity Catalog com controlos de acesso ao nível da tabela. Relatórios ad hoc, BI e acesso para prova de conceito a bases de dados operacionais.
Federação de catálogos Liga plataformas de catálogo externas (como Hive Metastore, AWS Glue ou Snowflake) para poderes consultar os dados deles diretamente no object storage. Funciona diretamente com o armazenamento de objetos apenas na computação do Azure Databricks. Mais económico e mais otimizado em termos de desempenho do que a federação de consultas. Não suportado (apenas leitura). Catálogo externo do Unity Catalog com controlos de acesso ao nível da tabela. Migrar para o Unity Catalog de forma incremental, ou manter um modelo híbrido de longo prazo com dados num catálogo externo.

Federação Lakehouse

Lakehouse Federation é a plataforma de federação de consultas Azure Databricks. Fornece acesso governado, só de leitura, a dados externos através de catálogos externos do Unity Catalog, com pushdown automático de consultas e controlos de acesso granulares ao nível da tabela.

Existem dois tipos de Federação Lakehouse: federação por consulta e federação por catálogo.

Federação de consultas comparada com federação de catálogo

A tabela seguinte descreve as principais diferenças entre a federação de consulta e a federação de catálogos.

Caminho da consulta Caso de uso Visão geral das etapas
Federação de consultas As consultas do Unity Catalog são enviadas para o banco de dados estrangeiro usando JDBC. A consulta é executada tanto no Azure Databricks como usando computação remota.
  • Você precisa de relatórios ad hoc ou acesso de prova de conceito a dados operacionais armazenados em bancos de dados externos.
  • Você deseja minimizar a movimentação de dados e manter o acesso ao vivo a sistemas externos.

Quando a sua fonte suporta tanto o Lakehouse Federation como o Lakeflow Connect, o Azure Databricks recomenda o Lakeflow Connect se o desempenho em volumes de dados mais elevados e menor latência forem prioridades.
  • Crie uma conexão no Unity Catalog com suas credenciais de acesso e URL JDBC.
  • Crie um catálogo estrangeiro usando a conexão.
  • Conceda privilégios a usuários em tabelas no catálogo estrangeiro.
  • Executar consultas. Estes são transferidos para o banco de dados externo.
Federação de catálogos As consultas do Unity Catalog acessam diretamente a tabela estrangeira no armazenamento de objetos. A federação de catálogos está disponível para plataformas que oferecem suporte ao acesso direto aos seus serviços de catálogo e armazenamento. A consulta só é executada no Azure Databricks compute, o que significa que a federação de catálogos é mais económica e otimizada para desempenho do que a federação de consultas.
  • Estás a migrar para o Unity Catalog, mas precisas de introduzir gradualmente os dados geridos a partir de um catálogo estrangeiro.
  • Você deseja um modelo híbrido de longo prazo no qual alguns dados permanecem em um catálogo externo e alguns dados são gerenciados pelo Unity Catalog.
  • Crie uma conexão no Unity Catalog para acessar o catálogo externo.
  • Crie uma credencial de armazenamento e um local externo para os caminhos da tabela.
  • Crie um catálogo estrangeiro usando a conexão e o local externo.
  • Conceda privilégios a usuários em tabelas no catálogo estrangeiro.
  • Executar consultas. Eles são executados diretamente no sistema de armazenamento de objetos.

Fontes de dados suportadas

Conecte-se às seguintes fontes usando a federação de consultas:

Conecte-se às seguintes fontes usando a federação de catálogo:

Fontes de dados Spark

A API Spark Data Source permite-lhe ler e escrever diretamente em bases de dados externas a partir do Azure Databricks. Use-o quando a Lakehouse Federation não suportar o seu código-fonte, quando precisar de acesso de escrita ou quando precisar de mais controlo sobre a execução de consultas e paralelização.

O Databricks Runtime inclui conectores agrupados para bases de dados comuns como PostgreSQL, SQL Server, MySQL, Snowflake e Redshift. Para qualquer base de dados compatível com JDBC, pode usar uma ligação JDBC Unity Catalog para trazer o seu próprio driver com gestão centralizada de credenciais. Também pode instalar conectores de terceiros em clusters dedicados ou construir conectores totalmente personalizados em Python usando a API PySpark DataSource.

Para instruções de configuração e detalhes completos, consulte as fontes de dados do Spark.

Recursos adicionais