Conceitos do conetor Lakeflow Connect

Observação

Os conectores Lakeflow Connect estão em vários estados de lançamento.

O Lakeflow Connect organiza conectores por tipo de fonte, incluindo conectores de base de dados, SaaS, ficheiros e streaming, juntamente com conectores comunitários e personalizados para fontes sem opção incorporada. Esta página descreve os conceitos partilhados pelos conectores geridos do Lakeflow Connect: os tipos de conectores disponíveis, como um conector está estruturado, como funciona e como ingere dados de forma incremental. Os conectores geridos produzem pipelines de ingestão que são governados pelo Unity Catalog e suportados por computação sem servidor e por pipelines Lakeflow, utilizando leituras e escritas incrementais eficientes para manter os seus dados atualizados para consumo a jusante.

Se precisar de mais controlo sobre os seus pipelines, também pode utilizar conectores padrão, que oferecem menos automatização em troca de suporte a mais origens e maior personalização. Veja Escolher um conector padrão.

Tipos de conectores

Tipo de conector Descrição
Conectores comunitários Ingerir dados usando conectores open-source e construídos pela comunidade.
Conectores de bases de dados (CDC) Ingerir dados de bases de dados relacionais, incluindo MySQL, PostgreSQL e SQL Server, utilizando captura de dados de alteração.
Conectores de origem de ficheiro Ingerir ficheiros não estruturados e estruturados de serviços empresariais de armazenamento de ficheiros, incluindo Google Drive e SharePoint.
Conectores baseados em consulta Importe dados de bases de dados consultando diretamente a origem, sem exigir a configuração da captura de dados de alterações (CDC).
Conectores SaaS Ingerir dados de aplicações SaaS empresariais, incluindo Salesforce, HubSpot, Jira, Workday e outras.
Conectores de streaming Recolha continuamente dados de barramentos de mensagens e de fontes de transmissão contínua de eventos, incluindo RabbitMQ.

Arquitetura

Cada tipo de conector tem um conjunto distinto de componentes. Os conectores SaaS e de ficheiros utilizam uma ligação, um pipeline de ingestão e tabelas de destino. Os conectores de base de dados incluem também um gateway de ingestão e armazenamento intermédio para suportar a captura contínua das alterações. Conectores baseados em consulta e streaming utilizam os componentes descritos nas secções seguintes. Para detalhes sobre conectores SaaS e bases de dados, veja conectores SaaS geridos e conectores de base de dados geridos.

Componentes de conectores baseados em consultas

Um conector baseado em consulta interroga diretamente a base de dados de origem conforme um horário, sem gateway ou armazenamento temporário. Para uma visão geral de como funcionam os conectores baseados em consultas, veja Conectores baseados em consultas.

Componente Descrição
Conexão Um objeto seguro do Unity Catalog que armazena detalhes de autenticação para a base de dados de origem. Ou uma conexão direta com o Unity Catalog (para ingestão de conexão externa) ou um catálogo estrangeiro do Unity Catalog (para ingestão de catálogos estrangeiros através da Lakehouse Federation).
Conduta de ingestão Um pipeline que consulta diretamente a base de dados de origem e escreve os resultados em tabelas de streaming. O fluxo de processos corre por padrão em computação serverless.
Tabelas de destino As tabelas de streaming onde o pipeline de ingestão grava os dados.

Componentes do conector de streaming

Um conector de streaming lê continuamente mensagens de um barramento de mensagens ou de uma origem de transmissão de eventos e escreve-as em tabelas de transmissão. Para uma visão geral de como funcionam os conectores de streaming, veja Conectores de streaming.

Componente Descrição
Conexão Um objeto seguro do Unity Catalog que armazena o endpoint de origem e as credenciais de autenticação para a sua fonte de streaming. O conector gerido utiliza esta ligação para autenticar sem precisar de credenciais na configuração do pipeline.
Conduta de ingestão Um pipeline que lê continuamente mensagens da fonte de streaming e escreve os resultados em tabelas de streaming. O pipeline funciona em computação sem servidor.
Tabelas de destino As tabelas de streaming onde o pipeline de ingestão grava os dados.

Orquestração

Você pode executar o seu pipeline de ingestão em um ou mais horários personalizados. Para cada agenda que adicionar a um pipeline, o Lakeflow Connect cria automaticamente uma tarefa para o mesmo. O fluxo de ingestão é uma tarefa dentro da função. Opcionalmente, você pode adicionar mais tarefas ao trabalho.

Diagrama de orquestração de pipeline para conectores SaaS

Para conectores de banco de dados, o gateway de ingestão é executado em seu próprio trabalho como uma tarefa contínua.

Diagrama de orquestração do pipeline para conectores de bases de dados

Ingestão incremental

Lakeflow Connect usa ingestão incremental para melhorar a eficiência do pipeline. Na primeira execução do pipeline, ele ingere todos os dados selecionados da fonte. Em paralelo, ele rastreia as alterações nos dados de origem. Em cada execução subsequente do pipeline, ele usa esse rastreamento de alterações para processar apenas os dados que foram alterados da execução anterior, quando possível.

A abordagem exata depende do que está disponível na sua fonte de dados. Por exemplo, pode usar tanto o acompanhamento de alterações como a captura de dados de alterações (CDC) com o SQL Server. Por outro lado, o conector do Salesforce seleciona uma coluna de cursor de uma lista definida de opções.

Algumas fontes ou tabelas específicas não suportam ingestão incremental no momento. A Databricks planeja expandir a cobertura para suporte incremental.

Rede

Há várias opções para se conectar a um aplicativo ou banco de dados SaaS.

  • Os conectores para aplicativos SaaS alcançam as APIs de origem. Eles também são automaticamente compatíveis com controles de saída sem servidor.
  • Os conectores para bases de dados na cloud podem ligar-se à fonte usando o Private Link. Alternativamente, se o seu espaço de trabalho tiver uma Rede Virtual (VNet) ou uma Virtual Private Cloud (VPC) que esteja emparelhada com a VNet ou VPC que aloja a sua base de dados, então pode implementar o gateway dentro dela.
  • Conectores para bases de dados on-premises podem ligar-se usando serviços como AWS Direct Connect e Azure ExpressRoute.

Implantação

Pode implementar pipelines de ingestão usando Declarative Automation Bundles, que permitem boas práticas como controlo de versão, revisão de código, testes e integração e entrega contínua (CI/CD). Os pacotes são gerenciados usando a CLI do Databricks e podem ser executados em diferentes espaços de trabalho de destino, como desenvolvimento, preparação e produção.

Criar ligações programáticas

Para os conectores que utilizam autenticação exclusiva via API (todos os conectores de bases de dados e a maioria dos conectores SaaS), pode criar ligações de forma programática utilizando notebooks, a CLI do Databricks ou Pacotes de Automação Declarativa, em vez da interface do Catalog Explorer.

  • Notebooks: Utilize a Connections API a partir de um notebook para criar uma conexão e transmiti-la ao pipeline.
  • Databricks CLI: Execute databricks connections create com --json para indicar o tipo de ligação e as credenciais. O corpo JSON segue o mesmo esquema da API Connections REST.
  • Pacotes de Automação Declarativa: Utilize um script de pré-implantação ou uma tarefa de processo para invocar databricks connections create como parte do fluxo de trabalho do pacote antes de implantar o pipeline.

Observação

Conectores que utilizam OAuth baseado em navegador (OAuth U2M) como única opção de autenticação não podem ser criados programaticamente. Estes conectores requerem login interativo para obter o token OAuth inicial. Isto inclui: Confluence, Google Ads, HubSpot, Jira, Meta Ads, Slack, Registos de Auditoria do Slack, Anúncios do TikTok e Suporte Zendesk.

Recuperação de falhas

Como um serviço totalmente gerenciado, o Lakeflow Connect visa se recuperar automaticamente de problemas quando possível. Por exemplo, quando um conector falha, ele tenta novamente automaticamente com recuo exponencial.

No entanto, é possível que um erro exija sua intervenção (por exemplo, quando as credenciais expiram). Nesses casos, o conector tenta evitar a falta de dados armazenando a última posição do cursor. Ele pode então pegar de volta a partir dessa posição na próxima corrida do gasoduto, quando possível.

Monitorização

O Lakeflow Connect fornece alertas e monitoramento robustos para ajudá-lo a manter seus oleodutos. Isso inclui registos de eventos, registos do cluster, métricas de integridade do pipeline e métricas de qualidade de dados. Também pode usar a system.billing.usage tabela para acompanhar custos e monitorizar a utilização do pipeline. Veja Monitorizar os custos do pipeline de ingestão gerido.

Para conectores de bases de dados, pode acompanhar o progresso da porta de ligação em tempo real usando registos de eventos. Veja Monitorizar o progresso do gateway de ingestão com registos de eventos.

Conectores comunitários

Conectores comunitários estendem o Lakeflow Connect para fontes sem suporte de conectores geridos. São construídos e mantidos pela comunidade. Consulte conectores comunitários em Lakeflow Connect.

Conectores personalizados

Se nenhum conector gerido ou comunitário suportar a sua fonte, pode construir o seu próprio conector personalizado e executá-lo no seu espaço de trabalho. Veja Construir um conector personalizado para o Lakeflow Connect.

Dependência de serviços externos

Databricks SaaS, banco de dados e outros conectores totalmente gerenciados dependem da acessibilidade, compatibilidade e estabilidade do aplicativo, banco de dados ou serviço externo ao qual eles se conectam. O Databricks não controla esses serviços externos e, portanto, tem influência limitada (se houver) sobre suas alterações, atualizações e manutenção.

Se alterações, interrupções ou circunstâncias relacionadas a um serviço externo impedirem ou tornarem impraticável a operação de um conector, o Databricks poderá descontinuar ou cessar a manutenção desse conector. A Databricks envidará todos os esforços razoáveis para notificar os clientes da descontinuação ou cessação da manutenção, incluindo atualizações da documentação aplicável.