Pular para o conteúdo principal

Conectores baseados em consultas

info

Visualização

Este recurso está em Pré-visualização Pública.

Os conectores baseados em consultas no LakeFlow Connect ingerem dados de bancos de dados consultando a fonte diretamente, sem exigir configuração de captura de dados de alterações (CDC). Em vez de depender de binlogs ou da infraestrutura do CDC, eles usam uma coluna de cursor — uma coluna de timestamp ou de números inteiros que aumenta monotonicamente — para rastrear quais linhas são novas ou foram atualizadas desde a última execução do pipeline.

Os conectores baseados em consultas usam conexões Unity Catalog e o Lakehouse Federation para se conectar aos bancos de dados de origem e gravam os resultados em tabelas do Transmitite.

Como funciona

Em cada execução do pipeline, um conector baseado em consulta consulta o banco de dados de origem e recupera todas as linhas com um valor de coluna de cursor maior que o valor registrado na execução anterior. O conector armazena o valor máximo da coluna do cursor após cada execução bem-sucedida e o utiliza como limite inferior na próxima execução.

Como o conector consulta a fonte diretamente, ele não requer um gateway de ingestão nem um volume de preparação. A execução pipeline em um programa que você define, não continuamente.

Conectores baseados em consultas em comparação com conectores de banco de dados do CDC

Os conectores baseados em consultas diferem dos conectores de banco de dados do CDC das seguintes maneiras:

  • Sem gateway de ingestão : os conectores CDC exigem um gateway para capturar eventos binlog. Os conectores baseados em consultas não utilizam um gateway.
  • Sem volume temporário : os conectores CDC armazenam buffer de dados em um volume temporário. Os conectores baseados em consultas gravam diretamente da consulta de origem para a tabela de destino.
  • Agendado em vez de contínuo : Execução de conectores baseados em consultas em um programador. Eles não capturam todos os estados intermediários das linhas durante a execução. Elas capturam apenas o estado mais recente das linhas que foram alteradas.
  • Compatibilidade de fontes mais ampla : Qualquer banco de dados com uma coluna de cursor adequada é uma fonte válida, mesmo que não suporte acesso a CDC ou binlog.

A desvantagem é que o desempenho das consultas pode ser mais lento e a execução das consultas ocorre diretamente nas tabelas de origem, o que pode sobrecarregar o banco de dados de origem em comparação com os conectores CDC que consultam o binlog. O acompanhamento de exclusão suave é suportado usando deletion_condition. A exclusão permanente de acompanhamento também é suportada na versão Beta. Ambos requerem configuração de API.

Abordagens de ingestão assistida

Os conectores baseados em consultas suportam múltiplas abordagens de ingestão. A abordagem que você utiliza determina quais parâmetros de configuração são necessários.

Abordagem

Como isso se conecta

Parâmetros obrigatórios

ingestão de conexão estrangeira

Utiliza uma conexão que armazena as credenciais de autenticação para o banco de dados de origem. O conector utiliza a conexão para consultar diretamente o banco de dados de origem.

connection_name, source_catalog, source_schema, source_table, cursor_column

ingestão de catálogo estrangeiro

Utiliza um catálogo estrangeiro com suporte de uma fonte de dados da Federação Lakehouse . O conector utiliza o catálogo externo para ler os dados de origem em vez de se conectar diretamente ao banco de dados de origem.

ingest_from_uc_foreign_catalog: true, cursor_columns, primary_keys (obrigatório a menos que você use o modo APPEND_ONLY )

Fontes de apoio

As seguintes fontes de banco de dados são suportadas.

Fontes de ingestão de conexões estrangeiras :

  • Oracle
  • Teradata
  • SQL Server
  • MySQL
  • MariaDB
  • PostgreSQL

Fontes estrangeiras de ingestão de catálogos :

Todas as fontes de dados da Federação Lakehouse são suportadas por meio da ingestão de catálogos externos. Para a lista completa, consulte Lakehouse Federation.

Interfaces suportadas

Você pode usar a interface do usuário Databricks ou os Pacotes de Automação Declarativa para criar um pipeline baseado em consultas.

requisitos de computação

Execução de pipeline de ingestão baseada em consultas em compute serverless por default. compute clássico é suportado na versão Beta, mas apenas por meio APIs. Databricks recomenda o uso de compute serverless .

Para usar conectores baseados em consultas com compute serverless , seu ambiente compute deve permitir conectividade de rede com o banco de dados de origem. Consulte a seção Redes e as recomendações de rede para a Lakehouse Federation.

modos de envio de história (SCD)

Os conectores baseados em consulta suportam os seguintes modos de acompanhamento de história — também conhecidos como modos de dimensões que mudam lentamente (SCD) (SCD) — para tabelas de destino:

  • SCD_TYPE_1 : Sobrescreve a linha existente na tabela de destino com a linha de origem mais recente. Nenhuma parte é preservada.
  • SCD_TYPE_2 : Preserva o histórico completo das alterações de linha, adicionando novas linhas com metadados de versão. Consulte Habilitar história envio (SCD tipo 2).
  • APPEND_ONLY : Anexa cada linha inserida à tabela de destino sem mesclar ou sobrescrever.

evolução do esquema

Os conectores baseados em consulta lidam com a evolução do esquema da mesma maneira que outros conectores de gerenciamento no LakeFlow Connect. Veja Como os conectores de gerenciamento lidam com a evolução do esquema?.