Compartilhar via


Modo de pipeline disparado vs. contínuo

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

O modo de pipeline é independente do tipo de tabela que está sendo calculada. As exibições materializadas e as tabelas de streaming podem ser atualizadas em qualquer modo de pipeline.

Para alternar entre disparado e contínuo, use a opção 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 exibições materializadas e tabelas de streaming definidas no Databricks SQL sempre são executadas usando o modo de pipeline disparado.

O que é o modo de pipeline acionado?

Se o pipeline usar o modo disparado , 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 for iniciada.

O que é o modo de pipeline contínuo?

Se o pipeline usar a execução contínua, o Delta Live Tables processará novos dados à medida que chegam em fontes de dados para manter as tabelas atualizadas em todo o pipeline.

Para evitar o 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 é alterado.

Escolher modos de pipeline de dados

A tabela a seguir destaca as diferenças entre os modos de pipeline disparado e contínuo:

Principais perguntas Disparado Contínuo
Quando a atualização é interrompida? Automaticamente depois de concluída. É executada sempre até ser interrompida manualmente.
Quais dados são processados? Dados disponíveis quando a atualização é iniciada. Todos os dados à medida que chegam às fontes configuradas.
Isso é melhor para quais requisitos de atualização de dados? As atualizações de dados são executadas a cada 10 minutos, por hora ou diariamente. As atualizações de dados são desejadas entre cada 10 segundos e alguns minutos.

Os pipelines disparados podem reduzir o consumo e as despesas de recursos porque o cluster é executado apenas o tempo suficiente para atualizar o pipeline. No entanto, não serão processados novos dados enquanto o pipeline não for disparado. Pipelines contínuos exigem um cluster sempre em execução, o que é mais caro mas reduz a latência de processamento.

Definir intervalo de acionamento para tubulações contínuas

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 de um fluxo atualizando uma tabela ou um pipeline inteiro. Como um pipeline disparado 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 as consultas de streaming e 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 grafo do pipeline.

Você define pipelines.trigger.interval em uma tabela usando spark_conf em Python ou SET 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 de pipeline:

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