Modo de pipeline acionado vs. contínuo

Este artigo descreve a semântica operacional dos modos pipeline acionado e contínuo para Delta Live Tables.

O modo de pipeline é independente do tipo de tabela que está sendo computada. Tanto a visualização materializada quanto as tabelas de transmissão podem ser atualizadas no modo pipeline.

Para alternar entre acionado e contínuo, use a opção de modo de pipeline nas configurações do pipeline ao criar ou editar um pipeline. Consulte Configurar um pipeline do Delta Live Tables.

Observação

As operações de atualização para visualização materializada e tabelas de transmissão definidas em Databricks SQL sempre são executadas usando o modo pipeline acionado.

O que é o modo de pipeline acionado?

Se o site pipeline usar o modo acionado, o sistema interromperá o processamento após 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 começar.

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 eles chegam na fonte de dados para manter as tabelas em todo o pipeline atualizadas.

Para evitar o processamento desnecessário no modo de execução contínua, o pipeline monitora automaticamente as tabelas dependentes do Delta e executa uma atualização somente quando o conteúdo dessas tabelas dependentes é 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:

questões-chave

Acionado

Contínuo

Quando a atualização é interrompida?

Automaticamente, uma vez concluído.

execução contínua até a interrupção manual.

Quais dados são processados?

Dados disponíveis quando a atualização começar.

Todos os dados à medida que chegam às fontes configuradas.

Para quais requisitos de atualização de dados isso é melhor?

Os dados são atualizados a cada 10 minutos, de hora em hora ou diariamente.

As atualizações de dados são desejadas entre cada 10 segundos e alguns minutos.

O pipeline acionado pode reduzir o consumo de recursos e as despesas porque a execução do cluster dura apenas o tempo suficiente para atualizar o pipeline. No entanto, os novos dados não serão processados até que o pipeline seja acionado. clusterO pipeline contínuo exige um sistema sempre em execução, que é mais caro, mas reduz a latência do processamento.

Definir intervalo de disparo para pipeline contínuo

Ao configurar o pipeline para o modo contínuo, o senhor pode definir intervalos de acionamento para controlar a frequência com que o pipeline começa uma atualização para cada fluxo.

O senhor pode usar pipelines.trigger.interval para controlar o intervalo de acionamento de um fluxo que atualiza uma tabela ou um pipeline inteiro. Como o site pipeline acionado processa cada tabela uma vez, o pipelines.trigger.interval é usado somente com o pipeline contínuo.

Databricks recomenda a definição de 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.

O senhor 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 ao objeto configuration nas configurações do pipeline:

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}