Carregar e processar dados incrementalmente com fluxos de Pipelines Declarativos do Lakeflow Spark
Os dados são processados em pipelines por meio de fluxos . Cada fluxo consiste em uma *consulta* e, tipicamente, um *destino*. O fluxo processa a consulta, seja em lote ou gradualmente como uma transmissão de dados para o destino. Um fluxo vive em um pipeline em LakeFlow Spark Declarative Pipelines.
Normalmente, os fluxos são definidos automaticamente ao criar uma consulta em um pipeline que atualiza um destino, mas também é possível definir explicitamente fluxos adicionais para processamento mais complexo, como anexar a um único destino a partir de múltiplas fontes.
Atualizações
Um fluxo é executado sempre que o pipeline que o define é atualizado. O fluxo criará ou atualizará tabelas com os dados mais recentes disponíveis. Dependendo do tipo de fluxo e do estado das alterações nos dados, a atualização pode realizar um refresh incremental, que processa apenas novos registros, ou realizar um refresh completo, que reprocessa todos os registros da fonte de dados.
- Para obter mais informações sobre atualizações de pipeline, consulte Execução de uma atualização de pipeline.
- Para saber mais sobre agendamento e acionamento de atualizações, consulte Modo de pipeline acionado versus contínuo.
default flows and append flows
Quando você cria uma consulta em um pipeline que atualiza um destino, um *fluxo default* é definido automaticamente. Para uma tabela de transmissão, o fluxo default é um fluxo de acréscimo que adiciona novas linhas a cada atualização e tem o mesmo nome que o destino. Criar um fluxo e seu destino em um único o passo é a maneira mais comum de usar pipeline, e pode-se usá-lo para ingerir ou transformar dados.
É possível também definir fluxos separadamente de um destino, o que permite que vários fluxos anexem dados a um único destino. Isto é útil quando você precisar:
- Adicione fontes de transmissão que acrescentam dados a uma tabela de transmissão existente sem exigir um refresh completo.
- Preencher retroativamente uma tabela de transmissão com dados históricos ausentes.
- Combine dados de diversas fontes sem utilizar uma cláusula
UNION.
Para exemplos de como criar fluxos default e explícitos, consulte Usar fluxos em Lakeflow Spark Declarative Pipelines.
Tipos de fluxos
Os fluxos default para tabelas de transmissão e views materializadas são fluxos de acréscimo. Você também pode criar fluxos para ler de captura de dados de alterações (CDC) e fontes de dados. A tabela a seguir descreve os diferentes tipos de fluxos.
Tipo de fluxo | Descrição |
|---|---|
Acrescentar | Fluxos de acréscimo são o tipo de fluxo mais comum, onde novos registros na origem são gravados no destino a cada atualização. Correspondem ao modo Anexar em transmissão estructurada. Você pode adicionar o sinalizador Fluxos default (criados com a tabela de transmissão de destino ou view materializada) terão o mesmo nome que o destino. Outros destinos não têm fluxos padrão. |
CDC automático (anteriormente *aplicar alterações*) | Um fluxo Auto CDC ingere uma consulta que contém dados de captura de dados de alterações (CDC). Os fluxos de CDC automático podem ter como destino apenas tabelas de transmissão, e a fonte deve ser uma fonte de transmissão (mesmo no caso de fluxos Para obter mais informações sobre dados de CDC, consulte As APIs AUTO CDC: Simplifique a captura de dados de alterações (CDC) com pipelines. |
Atualização (Pré-lançamento público) | Fluxos de atualização geram agregados de transmissão globais e sem marca d'água para um coletor, emitindo apenas os registros que foram alterados em cada lote. Fluxos de atualização só estão disponíveis no Python. Consulte update_flow. |
Recursos adicionais
Para obter mais informações sobre fluxos e sua utilização, consulte os seguintes tópicos:
- Utilize fluxos em Lakeflow Spark Declarative Pipelines
- As APIs AUTO CDC: Simplificar a captura de dados de alterações (CDC) com pipelines
- Preenchimento retroativo de dados históricos com pipelines
- Escrevendo pipelines em Python ou SQL
- Tabelas de streaming
- Visualizações materializadas
- Destinos no Lakeflow Spark Declarative Pipelines