Conectores baseados em consultas
Visualização
Este recurso está em Pré-visualização Pública.
Conectores baseados em consulta no LakeFlow Connect ingerem dados de bancos de dados consultando a origem diretamente, sem exigir a configuração de captura de dados de alterações (CDC). Em vez de depender de binlogs ou infraestrutura de CDC, eles utilizam uma coluna de cursor — uma coluna de timestamp ou inteiro monotonicamente crescente — para rastrear as linhas que são novas ou foram atualizadas após 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 de pipeline, um conector baseado em query consulta o banco de dados de origem e recupera todas as linhas cujo valor na coluna do cursor seja maior do que o high-water mark da execução anterior. O conector armazena a marca d'água superior da coluna de cursor após cada execução bem-sucedida e a utiliza como o 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. |
|
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. |
|
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
Pipelines de ingestão baseados em consulta são executados em compute serverless por default. A implantação de compute clássico é suportada em Beta por meio de Pacotes de Automação Declarativa ou da API. Databricks recomenda o uso de compute serverless. Consulte Criar pipeline de ingestão baseado em consulta.
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. A tabela de destino não preserva histórico.
- 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?.