Todos os produtos
Search
Central de documentação

DataWorks:Dependências de resultados do ciclo anterior

Última atualização: Jun 27, 2026

Configure uma dependência entre ciclos quando um nó precisar aguardar dados produzidos ou validados em um ciclo de agendamento anterior antes da execução. Esse tipo de dependência permite impor sequenciamento entre limites temporais — por exemplo, garantir que a limpeza de dados da execução de ontem seja concluída com sucesso antes do início da agregação de hoje, ou impedir que um nó incremental execute antes da conclusão de sua própria saída anterior.

O DataWorks oferece suporte a três tipos de dependências entre ciclos:

Tipo

O que o nó atual aguarda

First-level child nodes

A conclusão bem-sucedida dos próprios nós downstream diretos no ciclo anterior

Current node

A conclusão da própria instância do ciclo anterior (autodependência)

Custom

A conclusão de um ou mais nós especificados manualmente no ciclo anterior

O recurso de análise automática cria uma dependência no mesmo ciclo por padrão. Para alterar para uma dependência entre ciclos, primeiro exclua a dependência no mesmo ciclo e, em seguida, adicione a dependência entre ciclos. Para obter detalhes, consulte Lógica de dependência de agendamento .

Dependências entre ciclos versus no mesmo ciclo

Esses dois termos descrevem eixos de relacionamento diferentes:

  • Uma dependência no mesmo ciclo vincula nós dentro de uma única execução do agendamento — o nó B aguarda a conclusão do nó A no mesmo ciclo.

  • Uma dependência entre ciclos vincula um nó a outro nó (ou a si mesmo) do ciclo anterior. Os dois nós podem executar em janelas de tempo completamente diferentes.

Confundir "ciclo anterior" (entre ciclos) com "upstream" (no mesmo ciclo) é uma causa comum de configurações incorretas. No Operation Center, as dependências entre ciclos aparecem como linhas tracejadas, o que permite distingui-las visualmente das dependências no mesmo ciclo.

Como uma dependência bloqueia a execução: Se o nó do qual a instância atual depende não for concluído com sucesso no ciclo anterior, a instância atual será bloqueada e não executará.

Dependência no ciclo anterior: First-level child nodes

O nó atual aguarda a conclusão bem-sucedida de todos os seus nós downstream diretos no ciclo anterior antes de executar no ciclo atual.

Quando usar: O nó atual gera saídas que seus nós downstream limpam ou validam. Ao aguardar o sucesso desses nós downstream no ciclo anterior, você confirma que os dados daquele ciclo estão limpos antes de processar os dados do próximo ciclo. Configure regras do Data Quality nas tabelas de saída dos nós downstream para verificar se os resultados da limpeza atendem às expectativas.

Exemplo: O nó A possui três nós downstream: B, C e D. A instância do nó A no ciclo atual executa somente após a conclusão bem-sucedida das instâncias de B, C e D do ciclo anterior.

A figura a seguir mostra as dependências dos nós no fluxo de negócios.Dependencies

A página do Operation Center exibe as dependências do fluxo de negócios.Dependencies

A figura a seguir apresenta um exemplo de código do nó xc_create.Node

O código SQL do nó xc_create cria e popula duas tabelas: xc_1 e xc_2. Essas tabelas são definidas como saídas do nó.

A figura a seguir ilustra um exemplo de código do nó xc_select.Node example

O código SQL do nó xc_select consulta dados das tabelas produzidas pelo xc_create. O recurso de análise automática identifica o xc_create como uma dependência upstream para o xc_select.

O nó xc_create está configurado para depender de seus nós filhos de primeiro nível.First-level child node

A página do Operation Center exibe as dependências de cada nó.Dependencies

Dependência no ciclo anterior: Current node

A instância atual do nó aguarda a conclusão bem-sucedida de sua própria instância do ciclo anterior. Caso a instância anterior não tenha sido bem-sucedida, a instância atual será bloqueada.

Quando usar: A lógica do nó depende dos dados que ele próprio produziu no ciclo anterior — por exemplo, uma agregação incremental que lê sua própria saída anterior. Configure regras de monitoramento do Data Quality na tabela de saída do nó para verificar se os resultados de cada ciclo atendem às expectativas.

Bloqueio em cascata: Se uma instância falhar, todas as instâncias subsequentes desse nó no mesmo dia também serão bloqueadas.

Acesse Operation Center > Cycle Task > Cycle Instance para visualizar as dependências do nó.

Para um nó horário com autodependência, se uma instância do ciclo anterior não executar com sucesso, a instância da hora seguinte também não executará. Se uma tarefa horária falhar ou não executar, todas as instâncias horárias subsequentes desse nó durante o dia também ficarão bloqueadas.

Dependência no ciclo anterior: Custom node

O nó atual aguarda a conclusão bem-sucedida de um ou mais nós especificados manualmente no ciclo anterior, identificados por seus IDs de nó.

Quando usar: A lógica de negócios exige que o nó atual aguarde a saída de outro pipeline, mesmo que o código do nó atual não leia diretamente da tabela de saída desse pipeline. Insira o ID do nó upstream (por exemplo, 1000374815). Para especificar vários nós, separe os IDs por vírgula — por exemplo, 12345,23456.

Exemplo: O nó xc_create depende da conclusão bem-sucedida do nó 1000374815 no ciclo anterior. O código do xc_create não faz seleções na tabela de saída do nó 1000374815, mas a lógica de negócios requer que esse nó seja concluído primeiro.

O nó 1000374815 está selecionado como uma dependência upstream personalizada para o nó xc_create.Node

Acesse Operation Center > Cycle Task > Cycle Instance para visualizar as dependências do nó.Cycle instance

Configuração avançada: Não propagar a propriedade de execução simulada entre ciclos

Em um fluxo de trabalho com ramificações, apenas uma ramificação executa enquanto as outras são definidas para execução simulada (dry run). A propriedade de execução simulada propaga-se para todos os nós filhos da ramificação ignorada. Se um nó filho em uma ramificação ignorada tiver uma autodependência (Current node) e essa ramificação for ignorada no ciclo anterior, o nó ficará definido como execução simulada indefinidamente — ele nunca poderá executar porque estará sempre aguardando uma instância do ciclo anterior que também foi uma execução simulada.

Por exemplo, se o nó I_am_the_left_one estiver definido para execução simulada, seus nós downstream também serão definidos para execução simulada.Branch node

Para garantir que o status de execução de um nó no próximo ciclo seja determinado pela seleção da ramificação no próximo ciclo — e não pela propriedade de execução simulada herdada do ciclo anterior — ative o atributo Do not propagate the dry-run property of ancestor nodes across cycles:

  1. No lado direito da página do editor de nós, clique em Scheduling Configuration.

  2. Na área Time Property, selecione Dependency on previous cycle.

  3. Clique em Advanced Configuration.

  4. Selecione Do not propagate the dry-run property of ancestor nodes across cycles.Dry-run property

Esta opção aplica-se apenas à propriedade de execução simulada propagada a partir de um nó de ramificação ancestral não selecionado. Ela não afeta a propriedade de execução simulada de um nó regular do ciclo anterior.

Cenários típicos

A tabela a seguir associa problemas comuns de agendamento à solução recomendada de dependência entre ciclos.

Cenário

Problema

Solução

Nó diário depende de nós horários, mas não deve aguardar todas as 24 instâncias

O nó diário precisa iniciar em um horário fixo (por exemplo, 12:00), e não após a conclusão de todas as instâncias horárias.

Configure o nó horário upstream com Dependency on previous cycle: Current node (autodependência). Defina o horário agendado do nó diário para 12:00. O nó diário iniciará assim que a instância das 12:00 do nó horário for executada com sucesso. Nenhuma dependência entre ciclos é necessária no nó diário.

Nó diário depende dos dados do dia anterior provenientes de um nó horário

O nó diário precisa utilizar dados produzidos por um nó horário específico do dia anterior.

Configure o nó diário com Dependency on previous cycle: Custom e insira o ID do nó horário upstream.

Nó horário depende de um nó diário; múltiplas instâncias horárias correm o risco de executar simultaneamente

Quando o nó diário upstream termina, vários horários agendados para o nó horário downstream já passaram. Múltiplas instâncias podem iniciar simultaneamente.

Configure o nó horário downstream com Dependency on previous cycle: Current node (autodependência). Isso força as instâncias a executarem sequencialmente.

Um nó depende dos dados que gerou no ciclo anterior

A lógica do nó lê sua própria saída anterior e você precisa confirmar o horário de geração dos dados antes de executar a próxima instância.

Configure o nó com Dependency on previous cycle: Current node (autodependência).

Ao cancelar a publicação de um nó, exclua todas as suas dependências — tanto as dependências entre ciclos (①) quanto as dependências no mesmo ciclo (②). Delete