Conectar-se a bancos de dados e catálogos externos

Azure Databricks fornece várias opções para consultar e acessar dados em bancos de dados e catálogos externos sem migrar seus dados. Escolha a abordagem com base em seu padrão de acesso, requisitos de governança, necessidades de gravação e preferências de computação.

Escolher uma abordagem

A tabela a seguir compara a federação de consultas e a federação do catálogo para ajudá-lo a escolher a abordagem certa.

Description Execução de consulta Suporte para gravação Governance Mais adequado para
Federação de consulta Execute consultas federadas em bancos de dados relacionais externos usando JDBC, com envio automático de consultas para execução no banco de dados de origem e governança do Unity Catalog por meio de catálogos externos. Transferido para o banco de dados externo usando JDBC. A consulta é executada em Azure Databricks e computação remota. Não há suporte (somente leitura). Catálogo externo do Unity Catalog com controle de acesso no nível da tabela. Relatórios ad hoc, BI e acesso para prova de conceito a bancos de dados operacionais.
Federação de catálogo Conecte plataformas de catálogo externo (como Metastore do Hive, AWS Glue ou Snowflake) para que você possa consultar seus dados diretamente no armazenamento de objetos. É executado diretamente no armazenamento de objetos somente na computação do Azure Databricks. Mais econômico e com desempenho mais otimizado do que a federação de consultas. Não há suporte (somente leitura). Catálogo externo do Unity Catalog com controle de acesso em nível de tabela. Migrar para o Catálogo do Unity incrementalmente ou manter um modelo híbrido de longo prazo com dados em um catálogo externo.

Federação do Lakehouse

Lakehouse Federation é a plataforma de federação de consultas Azure Databricks. Ele fornece acesso governado, somente leitura, a dados externos por meio de catálogos externos do Unity Catalog, com envio automático da consulta à fonte de dados e controles de acesso granulares no nível da tabela.

Há dois tipos de Federação de Lakehouse: federação de consultas e federação de catálogos.

Federação de consultas em comparação com a federação de catálogos

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

Caminho da consulta Caso de uso Visão geral das etapas
Federação de consulta As consultas do Catálogo Unity são enviadas para o banco de dados externo usando JDBC. A consulta é executada em Azure Databricks e usando computação remota.
  • Você precisa de relatórios ad hoc ou acesso de prova de conceito aos 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 sua origem dá suporte à Lakehouse Federation e ao Lakeflow Connect, Azure Databricks recomenda o Lakeflow Connect se o desempenho em volumes de dados mais altos e latência menor forem prioridades.
  • Crie uma conexão no Catálogo do Unity com suas credenciais de acesso e a URL JDBC.
  • Crie um catálogo estrangeiro usando a conexão.
  • Conceda privilégios aos usuários em tabelas no catálogo estrangeiro.
  • Execute consultas. Eles são transferidos para o banco de dados externo.
Federação de catálogo As consultas do Catálogo do Unity acessam diretamente a tabela estrangeira no armazenamento de objetos. A federação do catálogo está disponível para plataformas que dão suporte ao acesso direto aos seus serviços de catálogo e armazenamento. A consulta é executada apenas nos recursos de computação do Azure Databricks, o que significa que a federação de catálogos é mais econômica e tem desempenho mais otimizado do que a federação de consultas.
  • Você está migrando para o Unity Catalog, mas precisa introduzir gradualmente os dados gerenciados por um catálogo externo.
  • Você deseja um modelo híbrido de longo prazo no qual alguns dados permaneçam em um catálogo externo e alguns dados sejam gerenciados pelo Catálogo do Unity.
  • Crie uma conexão no Catálogo do Unity 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 aos usuários em tabelas no catálogo estrangeiro.
  • Execute consultas. Elas são executadas diretamente no armazenamento de objetos.

Fontes de dados com suporte

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

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

Fontes de dados do Spark

A API de Fonte de Dados do Spark permite que você leia e escreva em bancos de dados externos diretamente de Azure Databricks. Utilize-o quando o Lakehouse Federation não oferecer suporte à sua fonte de dados, quando você precisar de acesso de escrita ou quando precisar de mais controle sobre a execução e a paralelização da consulta.

O Databricks Runtime inclui conectores agrupados para bancos de dados comuns, como PostgreSQL, SQL Server, MySQL, Snowflake e Redshift. Para qualquer banco de dados compatível com JDBC, você pode usar uma conexão do Catálogo do JDBC Unity para trazer seu próprio driver com gerenciamento de credenciais centralizado. Você também pode instalar conectores de terceiros em clusters dedicados ou criar conectores totalmente personalizados em Python usando a API PySpark DataSource.

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

Recursos adicionais