Modo de pipeline disparado vs. contínuo
Os modos de pipeline acionado e contínuo controlam como um pipeline processa os dados: o modo acionado atualiza os dados disponíveis e para, enquanto o modo contínuo mantém as tabelas atualizadas à medida que novos dados chegam. Para cargas de trabalho que exigem latência de milissegundos, consulte Usar o modo em tempo real em Lakeflow Pipelines.
O modo pipeline é independente do tipo de tabela que está sendo calculada. Tanto a visualização materializada quanto as tabelas de transmissão podem ser atualizadas em qualquer um dos modos pipeline .
As operações de refresh para views materializadas e tabelas de transmissão autônomas são sempre executadas usando o modo de pipeline acionado.
O que é o modo de pipeline acionado?
Se o pipeline usa o modo acionado , o sistema para depois de atualizar todas as tabelas com base nos dados disponíveis quando a atualização começou.
O que é o modo de pipeline contínuo?
Se o pipeline usar execução contínua , ele processará novos dados conforme chegam nas fontes de dados para manter as tabelas atualizadas em todo o pipeline.
Para evitar processamento desnecessário no modo de execução contínua, o pipeline monitora automaticamente as tabelas Delta dependentes e executa uma atualização somente quando o conteúdo dessas tabelas dependentes for alterado.
Escolha um modo de pipeline de dados
A tabela a seguir destaca as diferenças entre os modos de pipeline acionado e contínuo:
perguntas-chave | Acionado | Contínuo |
|---|---|---|
Quando a atualização para? | Automaticamente quando concluído. | execução continuamente até ser interrompida manualmente. |
Quais dados são processados? | Dados disponíveis quando a atualização começar. | Todos os dados conforme chegam às fontes configuradas. |
Para quais requisitos de atualização de dados isso é mais adequado? | As atualizações de dados são executadas a cada 10 minutos, a cada hora ou diariamente. | As atualizações de dados são desejadas entre 10 segundos e alguns minutos. |
Pipelines acionados podem reduzir o consumo de recursos e despesas porque o cluster é executado apenas pelo tempo necessário para atualizar o pipeline. No entanto, novos dados não são processados até que o pipeline seja acionado. Pipelines contínuos exigem um cluster em execução, o que é mais caro, mas reduz a latência de processamento.
Executar um pipeline contínuo com um job contínuo
O Databricks recomenda executar pipelines contínuos com um job contínuo em vez de definir o valor de Pipeline mode como contínuo. Quando um job contínuo orquestra um pipeline, o job gerencia o ciclo de vida de execução do pipeline e desbloqueia modos de desempenho serverless, como o modo Standard, que o modo contínuo integrado do pipeline não suporta.
A orquestração de Job controla o modo de execução apenas para LakeFlow Pipelines. Views materializadas e tabelas de transmissão autônomas sempre são executadas no modo triggered, independentemente da orquestração de jobs.
Quando um job orquestra um pipeline, o job determina o modo de execução e tem precedência sobre a configuração de Modo do pipeline do pipeline. Um job contínuo executa seu pipeline continuamente, mesmo se o Modo do pipeline estiver definido como Trigger, e um job acionado ou agendado executa seu pipeline como uma atualização única, mesmo se o Modo do pipeline estiver definido como contínuo.
Como o Job substitui a configuração de modo do pipeline, defina o Modo de pipeline como Trigger (o default) ao envolvê-lo em um Job contínuo. Isso evita comportamentos inesperados se o pipeline for executado fora do job.
Para configurar um job contínuo para um pipeline, consulte Executar um pipeline continuamente com um job contínuo.
Executar um pipeline com o modo contínuo integrado
A configuração contínua integrada do pipeline não está sendo removida, mas o Databricks desencoraja seu uso para novos pipelines em favor do padrão de job contínuo. Para alternar entre Trigger e contínuo, use a opção Modo do pipeline nas configurações do pipeline ao criar ou editar um pipeline. Consulte Configurar pipelines.
Definir intervalo de disparo para pipeline contínuo
Ao configurar pipelines para o modo contínuo, você pode definir intervalos de Trigger para controlar a frequência com que o pipeline começa uma atualização para cada fluxo. O intervalo de Trigger é uma configuração de pipeline que se aplica independentemente de o pipeline ser executado no modo contínuo por meio de sua própria configuração de Pipeline mode ou por meio de um job contínuo.
Você pode usar pipelines.trigger.interval para controlar o intervalo de trigger para um fluxo que atualiza uma tabela ou um pipeline inteiro. Como um pipeline Trigger processa cada tabela uma única vez, o pipelines.trigger.interval é usado apenas com pipelines contínuos.
Databricks recomenda definir pipelines.trigger.interval em tabelas individuais porque as consultas de transmissão e lotes têm padrões diferentes. Defina o valor em um pipeline somente quando o processamento exigir o controle de atualizações para todo o gráfico do pipeline.
Você define pipelines.trigger.interval em uma tabela usando spark_conf em Python ou SET em SQL:
@dp.table(
spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
return (<query>)
SET pipelines.trigger.interval=10 seconds;
CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...
Para definir pipelines.trigger.interval em um pipeline, adicione-o ao objeto configuration nas configurações do pipeline:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}