Pular para o conteúdo principal

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

Databricks oferece várias opções para consultar e acessar dados em bancos de dados e catálogos externos sem migrar os dados. A abordagem deve ser escolhida com base no padrão de acesso, nos requisitos de governança, nas necessidades de gravação e nas preferências de compute.

Escolha uma abordagem

A tabela a seguir compara a federação de consultas e a federação de catálogo para ajudar a escolher a abordagem adequada.

Descrição

Execução de query

Suporte de gravação

Governança

Melhor para

Federação de consultas

Execute consultas federadas em bancos de dados relacionais externos usando JDBC, com o pushdown automático de consultas e governança do Unity Catalog por meio de catálogos externos.

Enviado para o banco de dados externo usando JDBC. A consulta é executada tanto em Databricks quanto em compute remoto.

Não suportado (somente leitura).

Catálogo externo do Unity Catalog com controles de acesso em nível de tabela.

Relatórios ad hoc, BI e acesso de prova de conceito a bancos de dados operacionais.

Federação de catálogos

Conecte plataformas de catálogo externas (como Hive metastore, AWS Glue ou Snowflake), permitindo a consulta direta de seus dados no armazenamento de objetos.

Executa diretamente no armazenamento de objetos, exclusivamente no Databricks Compute. Mais eficiente em termos de custo e otimizado para desempenho do que a federação de consultas.

Não suportado (somente leitura).

Catálogo externo do Unity Catalog com controles de acesso em nível de tabela.

Migrar para o Unity Catalog de forma incremental ou manter um modelo híbrido de longo prazo com dados em um catálogo externo.

Federação Lakehouse

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

Existem dois tipos de Lakehouse Federation: federação de consultas e federação de catálogos.

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

A tabela a seguir descreve as principais diferenças entre a federação de queries 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 externo usando JDBC. A consulta está sendo executada tanto em Databricks quanto remotamente em compute.

  • Você precisa de relatórios ad hoc ou acesso à prova de conceito aos dados operacionais armazenados em bancos de dados externos.
  • Você quer minimizar a movimentação de dados e manter o acesso em tempo real aos sistemas externos.

Quando sua fonte suporta tanto a federação lakehouse quanto o LakeFlow Connect, Databricks recomenda LakeFlow Connect se o desempenho em volumes de dados mais altos e menor latência forem prioridades.

  1. Crie uma conexão no Unity Catalog com suas credenciais de acesso e URL JDBC.
  2. Crie um catálogo estrangeiro usando a conexão.
  3. Conceda privilégios aos usuários em tabelas no catálogo externo.
  4. execução de consultas. Eles são enviados para o banco de dados externo.

Federação de catálogos

As consultas do Unity Catalog acessam diretamente a tabela externa no armazenamento de objetos. A federação de catálogos está disponível para plataformas que suportam acesso direto ao seu catálogo e serviço de armazenamento. A consulta é executada apenas em Databricks compute, o que significa que a federação de catálogos é mais econômica e otimizada em termos de desempenho do que a federação de consultas.

  • Está migrando para o Unity Catalog, mas é necessário adicionar gradualmente dados gerenciados de 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 outros sejam gerenciados por Unity Catalog.
  1. Crie uma conexão no Unity Catalog para acessar o catálogo externo.
  2. Crie uma credencial de armazenamento e um local externo para os caminhos da tabela.
  3. Crie um catálogo estrangeiro usando a conexão e o local externo.
  4. Conceda privilégios aos usuários em tabelas no catálogo externo.
  5. execução de consultas. Essas execuções são realizadas diretamente no armazenamento de objetos.

Fontes de dados compatíveis

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

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

Fontes de dados do Spark

A API de fonte de dados Spark permite ler e gravar em bancos de dados externos diretamente do Databricks. Utilize-o quando a Lakehouse Federation não oferecer suporte à sua fonte, quando precisar de acesso de gravação, ou quando precisar de mais controle sobre a execução de consultas e paralelização.

Databricks Runtime inclui conectores empacotados para bancos de dados comuns, como PostgreSQL, SQL Server, MySQL, Snowflake e Redshift. Para qualquer banco de dados compatível com JDBC, é possível usar uma conexão JDBC do Unity Catalog para usar 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 instruções de configuração e detalhes completos, consulte fontes de dados do Spark.

Recurso adicional