Pular para o conteúdo

Os 4 escopos de recuperação e a prévia

Aula 4 de 87 minOperarAtualizada em 2026-10-04

Vídeo em produção

A gravação desta aula está no lote de produção. O objetivo, o exercício e a documentação já valem. Duração-alvo: 7 min.

Objetivo: Escolher escopo sem duplicar

Selo de estado: Preview (teto atual do produto) · Curso ACD-230 — Operação: orquestração, falhas e recuperação · Aula 4 de 8 · Atualizado em 2026-10-04.

Objetivo#

Ao final desta aula você vai escolher o menor escopo de recuperação que resolve a falha e confirmar na prévia o que vai rodar, sem duplicar linha no destino.

Vídeo#

Identificador no manifesto: acd-230-04-recuperar-uma-falha · duração-alvo 7 min · tela do produto: /dags.

Roteiro (5 capítulos):

#Minutagem-alvoCapítuloRota do produto
10:00–0:50Antes de recuperar: ler o log da tentativa certa. Reexecutar sem entender a causa repete a falha e gasta nuvem./dags/[id]
20:50–2:30Recuperar execução e o campo Operação: os quatro escopos, do mínimo ao máximo, com a descrição de cada um na própria tela./dags/[id]
32:30–4:00Tarefas selecionadas: a tarefa escolhida × todas as falhas desta execução; e a frase "incluir as tarefas seguintes (dependentes): sim/não — nunca um padrão silencioso"./dags/[id]
44:00–5:40A prévia: lista concreta das tarefas, miniatura do escopo, Escrita prevista e Resumo de impacto. O recorte enviado é exatamente o da prévia./dags/[id]
55:40–7:00Reprocessar período: limites inclusivos em UTC, o motivo quando a opção não se aplica, e o aviso de recarga total. Os três erros do curso; o "faça você mesmo"./sources/[id]

Conteúdo#

A prévia corresponde ao efeito

O painel de recuperação lista as tarefas que serão executadas outra vez. Se a prévia mostra uma tarefa, ela roda; se não mostra, ela não roda. O recorte enviado ao executor é exatamente o que a prévia calculou — não uma aproximação. Conferir a prévia é o passo que separa recuperar de apostar.

O conceito: escopo é uma decisão de custo e de integridade

Reexecutar sem saber o escopo é apagar incêndio no escuro. Escopo grande demais custa nuvem que você não precisava gastar e, pior, pode duplicar no destino quando o modo de carga acrescenta sem chave. Escopo pequeno demais deixa a camada seguinte lendo dado velho. Por isso a recuperação não é um botão único: é uma escolha explícita entre quatro operações, cada uma com a sua descrição na tela.

Escopo (rótulo da tela)O que faz
Nova tentativa da tarefaRoda de novo só a tarefa escolhida, como tentativa seguinte da mesma execução de origem. Não mexe em quem depende dela.
Reexecutar tarefa e dependentesRoda a tarefa escolhida e todas as que leem o resultado dela — o que estava materializado a partir dela é refeito.
Executar o pipeline de novoExecução nova do pipeline inteiro, sem recorte: todas as tarefas, na ordem das camadas.
Reprocessar períodoReextrai um intervalo de datas da origem e regrava só esse recorte no destino.

As telas e os botões reais

Na página da execução (/dags/[id]), o botão Recuperar execução abre uma gaveta de três passos: escolher o escopo, ver o impacto, confirmar. Nada é executado no passo do escopo — nem ao abrir o painel.

No passo 1, o campo Operação traz os quatro escopos como cartões selecionáveis, com a descrição de cada um. Para os dois primeiros, aparece o bloco Tarefas selecionadas, onde você escolhe entre a tarefa que selecionou na grade e todas as falhas desta execução (N). Logo abaixo, a tela declara a consequência: "Incluir as tarefas seguintes (dependentes): sim / não — é a escolha entre as duas operações acima, nunca um padrão silencioso." Ou seja: o produto não decide por você se os dependentes entram.

Escolhido o escopo, a prévia é calculada e mostra a lista concreta das tarefas, uma miniatura do escopo no grafo, a Escrita prevista no destino e um Resumo de impacto (incluindo o impacto no BI, quando legível). Só então você confirma.

Para Reprocessar período, a tela pede Do dia (inclusive, UTC) e Até o dia (inclusive, UTC): os limites são inclusivos nos dois dias e contados em UTC — o mesmo fuso em que a agenda e o banco guardam instante. Sem período informado, a ação fica indisponível com o motivo escrito — o produto não inventa "últimos N dias" a partir da agenda. E se o pipeline não sabe recortar o intervalo, a tela exige um reconhecimento explícito: "Entendo que este pipeline NÃO sabe recortar o período: executar vai RECARREGAR a tabela inteira, e o período fica só registrado na execução." Além disso, o motor recusa reprocessar enquanto houver execução em andamento no mesmo pipeline.

"Marcar sucesso" não produz dado

Marcar uma tarefa como bem-sucedida muda o estado da execução, não o conteúdo do destino. Use apenas quando souber, por outro caminho, que o dado já está correto — nunca como forma de "resolver" uma carga que não aconteceu.

Exemplo: a Comércio Aurora

A execução das 06:00 falhou em silver:vendas_limpas por um erro de tipo na transformação; a Bronze carregou normalmente. Maria lê o log da tentativa certa, corrige a transformação e abre Recuperar execução.

Tentada por hábito, ela quase escolhe Executar o pipeline de novo — o que reextrairia a origem inteira sem necessidade. Em vez disso, ela escolhe Reexecutar tarefa e dependentes com alvo em silver:vendas_limpas: a prévia mostra duas tarefas (a Silver e a Gold que lê dela), e nenhuma tarefa Bronze. É exatamente o que ela queria: refazer o que foi materializado a partir do erro, sem tocar na extração. Ela confirma, a recuperação vira uma execução rastreável como qualquer outra, e ela confere a contagem no destino. Se tivesse escolhido Nova tentativa da tarefa, a Gold continuaria com o número antigo; se tivesse escolhido o pipeline inteiro, pagaria a extração de novo.

Erros comuns

SintomaCausa provávelPróxima ação
Reexecutei e duplicou linhasEscopo grande demais combinado com modo de carga que acrescenta sem chavePrefira o escopo mínimo e revise os modos de carga
A prévia mostra mais tarefas do que eu esperavaOs dependentes no grafoEscolha Nova tentativa da tarefa para o escopo mínimo
Gold continua com número antigoEscopo pequeno demais: só a tarefa, sem dependentesUse Reexecutar tarefa e dependentes
Reprocessar período sem efeito de recortePipeline que não sabe recortar: a carga recarrega a tabela inteiraLeia e aceite o aviso consciente, ou use backfill
Falhou de novo pelo mesmo motivoA causa não foi corrigida na origemCorrija conexão, permissão ou schema antes de repetir
Confundi pausar com executarPausar a agenda não recupera nada; recuperar não liga agendaSão decisões independentes (aula 1)
Log não bate com o erroDiagnóstico feito na tentativa erradaDesça execução → tarefa → tentativa (aula 2)

Estado do produto

A recuperação é determinística: a prévia e o recorte enviado ao executor saem do mesmo cálculo, e isso é coberto por teste — a capacidade C01.4 cobre idempotência, retry, backoff, DLQ e reconciliação. O teto segue Preview: abrir a prévia custa R$ 0, mas confirmar executa e consome recursos de nuvem como qualquer execução, e não há promessa de tempo — depende do volume reprocessado. Custo faturado em BRL e latência de nuvem continuam NÃO MEDIDO.

Faça você mesmo#

No workspace de treino Aurora Varejo (abra /dags no console), como dono. Meta: reexecutar só a tarefa que falhou.

  1. Abra uma execução com falha e desça até a tarefa e a tentativa certa; anote a causa antes de pensar em recuperar.
  2. Clique em Recuperar execução. Confirme que nada foi executado só por abrir o painel.
  3. No campo Operação, leia as quatro descrições e escolha Nova tentativa da tarefa.
  4. Em Tarefas selecionadas, mantenha a tarefa que você selecionou na grade (não todas as falhas) e confira a linha que declara se os dependentes entram — ela deve dizer não.
  5. Leia a prévia: confirme que ela lista uma tarefa e confira a Escrita prevista e o Resumo de impacto.
  6. Agora troque para Reexecutar tarefa e dependentes, sem confirmar, e compare: a prévia deve crescer exatamente com as tarefas que leem o resultado da primeira.
  7. Volte para Nova tentativa da tarefa e confirme a recuperação. Acompanhe a execução resultante em /dags.
  8. Confira o destino — contagem de linhas, não só o selo verde — e verifique que nada duplicou.

Você terminou quando a prévia que você leu bater exatamente com as tarefas que rodaram, a contagem no destino estiver correta e você conseguir justificar por que escolheu esse escopo e não o pipeline inteiro.

Checagem rápida#

Três perguntas no final da aula, corrigidas no servidor. A aula só conta como concluída depois da checagem.

Documentação relacionada#

Capacidades ensinadas#

C01.4 — o selo exibido na aula é sempre o estado mais conservador entre as capacidades citadas; nada aqui é "GA".

Carregando seu progresso…