Modo de pipeline acionado versus contínuo
Este artigo descreve a semântica operacional dos modos de pipeline acionados e contínuos para Delta Live Tables.
O modo de pipeline é independente do tipo de tabela que está sendo calculada. As visualizações materializadas e as tabelas de streaming podem ser atualizadas em qualquer modo de pipeline.
Para alterar entre acionado e contínuo, use a opção Modo de pipeline nas configurações de pipeline ao criar ou editar um pipeline. Consulte Configurar um pipeline Delta Live Tables.
Nota
As operações de atualização para exibições materializadas e tabelas de Streaming definidas no Databricks SQL sempre são executadas usando o modo de pipeline acionado.
O que é o modo de pipeline acionado?
Se o pipeline usar o modo acionado , o sistema interromperá o processamento depois de atualizar com êxito todas as tabelas ou tabelas selecionadas, garantindo que cada tabela na atualização seja atualizada com base nos dados disponíveis quando a atualização for iniciada.
O que é o modo de pipeline contínuo?
Se o pipeline usa execução contínua , o Delta Live Tables processa novos dados à medida que chegam às fontes de dados para manter as tabelas em todo o pipeline atualizadas.
Para evitar processamento desnecessário no modo de execução contínua, os pipelines monitoram automaticamente as tabelas Delta dependentes e executam 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:
Principais perguntas | Acionado | Contínuo |
---|---|---|
Quando é que a atualização para? | Automaticamente uma vez concluído. | Funciona continuamente até ser interrompido manualmente. |
Que dados são tratados? | Dados disponíveis quando a atualização é iniciada. | Todos os dados à medida que chegam às fontes configuradas. |
Para que requisitos de atualização de dados isso é melhor? | As atualizações de dados são executadas a cada 10 minutos, de hora em hora ou diariamente. | As atualizações de dados são desejadas a cada 10 segundos e alguns minutos. |
Os pipelines acionados podem reduzir o consumo e a despesa de recursos porque o cluster é executado apenas por tempo suficiente para atualizar o pipeline. No entanto, novos dados não serão processados até que o pipeline seja acionado. Os pipelines contínuos exigem um cluster sempre em execução, que é mais caro, mas reduz a latência de processamento.
Definir intervalo de gatilho para pipelines contínuos
Ao configurar pipelines para o modo contínuo, você pode definir intervalos de gatilho para controlar a frequência com que o pipeline inicia uma atualização para cada fluxo.
Você pode usar pipelines.trigger.interval
para controlar o intervalo de gatilho para um fluxo atualizando uma tabela ou um pipeline inteiro. Como um pipeline acionado processa cada tabela uma vez, o pipelines.trigger.interval
é usado apenas com pipelines contínuos.
O Databricks recomenda a configuração pipelines.trigger.interval
em tabelas individuais porque o streaming e as consultas em lote 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 de pipeline.
Você define pipelines.trigger.interval
em uma tabela usando spark_conf
em Python ou SET
em SQL:
@dlt.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 configuration
ao objeto nas configurações do pipeline:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}