Skip to content

Montar janelas em escada ​

Tipo
Como fazer
Para
Engenharia de dados
Na tela
HorusETL › Agendamentos

Para ter dado fresco sem reler a origem inteira a cada rodada, ponha o mesmo Dataflow de Janela em vários agendamentos, cada um com uma largura de janela e uma frequência. As janelas curtas e frequentes deixam o dado do dia fresco; as largas e raras pegam as correções antigas e as exclusões que as curtas não alcançam.

Cada execução recarrega só a sua janela, e o processamento cobrado acompanha os bytes gravados. Em Janela, dobrar a frequência dobra o que se grava; a conta está em Gastar menos processamento.

Antes de começar ​

  • Um Dataflow publicado com Extração Janela. A escada funciona com Substituir a janela e com Atualizar por chave; esta última exige Agente ETL 1.28.0 ou mais novo.
  • Uma ideia de até quanto tempo atrás a origem ainda corrige registros. Uma origem que nunca mexe em venda de mais de 15 dias não precisa de uma faixa de 90.

Passos ​

Crie um agendamento por faixa, todos com o mesmo Dataflow. Um exemplo para um fato de vendas:

AgendamentoContextoGatilho
Vendas 5 minTemporal (Passado), 1 diaMinutos, a cada 5, entre 07:00 e 20:00
Vendas horaTemporal (Passado), 30 diasHoras, a cada 1
Vendas 6 horasTemporal (Passado), 90 diasHoras, a cada 6
Vendas semanalTotalSemanal, domingo às 02:00
  1. Abra Agendamentos e clique em Criar novo Agendamento para a primeira faixa.
  2. Adicione o Dataflow com o contexto e o número de dias da faixa.
  3. Adicione o gatilho da faixa e salve.
  4. Repita para cada faixa.

O gatilho Minutos só aparece quando o Tenant permite agendamento por minuto, configuração do HEC. Os números da tabela são um exemplo. Quem decide é o volume da tabela, o processamento contratado, quanto a origem aguenta ser consultada e até quando ela corrige.

Por que a faixa Total ​

Uma janela só percebe a exclusão que cai dentro dela. Com Atualizar por chave, nem dentro dela. A faixa Total, de vez em quando, troca toda a parte do Dataflow na tabela e leva junto o que foi apagado na origem antes do alcance das outras faixas. As outras saídas estão em Exclusões na origem.

Quando as faixas se cruzam ​

Os agendamentos de um mesmo Tenant rodam um de cada vez, e um mesmo Dataflow nunca roda duas vezes ao mesmo tempo. Se a faixa de 5 minutos dispara enquanto a de 90 dias ainda roda, ela espera. Uma faixa larga demorada atrasa as curtas, então deixe as largas para horários de pouco uso e confira o tempo de cada uma no log antes de apertar as frequências.

Se der errado ​

As faixas curtas atrasam. Uma faixa larga ocupa a fila do Tenant. Espace a larga, ou marque as curtas com Executar em paralelo, sem esperar a fila.

Um pedido apagado continua no Dashboard. Ele é mais antigo que a maior janela e a faixa Total ainda não rodou. Rode o Dataflow com Forçar execução e Modo de carga Total.

Relacionado ​

Pelo Lumo CLI

Este recurso também pode ser criado e versionado em YAML. Veja a referência de schedule.