O DataWorks permite configurar dependências de agendamento entre ciclos para nós. Você pode definir que a instância gerada para um nó no ciclo atual dependa das instâncias geradas para um ou mais nós específicos no ciclo anterior. A instância do nó no ciclo atual só inicia a execução após a conclusão bem-sucedida das instâncias dos nós dos quais ela depende. Configure dependências entre ciclos quando a instância de um nó no ciclo atual precisar depender dos dados de uma instância de outro nó gerada no dia anterior, ou quando uma instância de nó com agendamento por hora ou minuto precisar depender da instância do mesmo nó no ciclo anterior. Este tópico descreve como configurar essas dependências e detalha os tipos disponíveis.
Precauções
Ao configurar dependências de agendamento entre ciclos, observe os itens descritos na tabela a seguir.
|
Item |
Descrição |
Referências |
|
Exibição de dependências de agendamento entre ciclos |
As dependências de agendamento entre ciclos aparecem como linhas tracejadas no grafo acíclico direcionado (DAG) de um nó. |
|
|
Confirmação da necessidade de configurar dependências de agendamento no mesmo ciclo após configurar dependências entre ciclos |
Após configurar as dependências de agendamento de um nó, ele só inicia a execução depois que todos os nós ancestrais forem executados com êxito. Por padrão, o recurso de análise automática para dependências no mesmo ciclo está ativado. Se você configurar dependências entre ciclos para um nó, verifique se ele também requer dependências no mesmo ciclo. Caso não sejam necessárias, exclua as dependências no mesmo ciclo geradas automaticamente para evitar impactos na execução do nó. |
|
|
Cenários complexos que exigem dependências de agendamento entre ciclos |
Em alguns cenários complexos, as dependências no mesmo ciclo podem não atender aos requisitos de negócios. Nesses casos, configure dependências entre ciclos. Por exemplo, se um nó com agendamento diário depender de um nó com agendamento horário, a instância do nó diário dependerá, por padrão, de todas as instâncias geradas pelo nó horário no dia atual. |
|
|
Visualização prévia das dependências de agendamento de um nó |
Para evitar atrasos em nós acionados automaticamente no ambiente de produção devido a dependências inesperadas, visualize as dependências antes de implantar o nó nesse ambiente. Essa prática garante que as instâncias geradas para o nó acionado automaticamente sejam executadas conforme o esperado. |
|
|
Implantação de nó |
Após configurar dependências de agendamento entre ciclos para um nó, implante o nó e seus ancestrais no ambiente de produção. Depois da implantação, visualize as dependências entre ciclos no Operation Center do ambiente de produção. |
Ponto de entrada
Acesse a página de edição do nó no Data Studio. No painel de navegação à direita, clique em Add Dependency. Na aba Scheduling Dependencies, clique em Parse I/O from Code para que o sistema sugira dependências ou clique em Add Dependency para configurar manualmente. Ao adicionar uma dependência, a lista suspensa Dependency Type oferece quatro opções: Same-cycle Dependency, Cross-cycle Dependency, Cross-cycle Self Dependency e Cross-cycle Dependency on a Level-1 Descendant Node. Selecione um tipo de dependência, configure o Ancestor Object e clique em Add para concluir a configuração.
Tipos de dependência de agendamento entre ciclos
|
Tipo de dependência |
Descrição |
Cenário |
|
Dependência da instância gerada para o nó atual no ciclo anterior |
A instância gerada para um nó no ciclo atual só inicia a execução após a conclusão bem-sucedida da instância gerada para o mesmo nó no ciclo anterior. |
A instância gerada para um nó no ciclo atual depende dos dados de negócios mais recentes da instância gerada para o mesmo nó no ciclo anterior. |
|
Dependência das instâncias geradas para os nós descendentes de nível 1 do nó atual no ciclo anterior |
A instância gerada para o nó atual no ciclo vigente só inicia a execução após a conclusão bem-sucedida das instâncias geradas para os nós descendentes do nó atual no ciclo anterior. |
A instância gerada para o nó atual no ciclo vigente depende da limpeza dos dados da tabela de saída do nó atual no ciclo anterior pelas instâncias geradas para seus nós descendentes no ciclo anterior. |
|
Dependência das instâncias geradas para um ou mais nós especificados no ciclo anterior |
A instância gerada para o nó atual no ciclo vigente só inicia a execução após a conclusão bem-sucedida das instâncias geradas para um ou mais nós especificados no ciclo anterior. |
A instância gerada para o nó atual no ciclo vigente depende dos dados da tabela de saída das instâncias geradas para um ou mais outros nós no ciclo anterior, com base na lógica de negócios, mas não utiliza os dados no código. |
Dependência da instância gerada para o nó atual no ciclo anterior
A instância gerada para um nó no ciclo atual depende dos dados de negócios mais recentes da instância gerada para o mesmo nó no ciclo anterior. Verifique as seguintes dependências:
-
A instância gerada para um nó com agendamento horário no ciclo atual depende da instância gerada para o mesmo nó no ciclo anterior.
-
A instância gerada para um nó com agendamento diário no ciclo atual depende da instância gerada para o mesmo nó no ciclo anterior.
Configure as dependências de agendamento:
Acesse a aba de configuração do Nó A no Data Studio. Clique na aba Properties no painel de navegação à direita. Clique em Scheduling Dependencies na aba exibida.
-
Na seção Node Dependencies, clique em Add Dependency. No formulário exibido, defina as seguintes configurações:
Na lista suspensa Dependency Type, selecione Cross-cycle Self Dependency. Clique no botão Add para definir a instância do ciclo anterior do nó A como uma dependência ancestral.
Clique em Save para salvar as configurações de dependência de agendamento.
Os resultados de execução das instâncias geradas para o nó com agendamento horário em diferentes ciclos de agendamento e aquelas geradas para o nó com agendamento diário em diferentes ciclos de agendamento afetam umas às outras.
Se o nó com agendamento diário depender do nó com agendamento horário ou por minuto, o horário de início da execução da instância do nó diário será afetado pela configuração ou não da autodependência no nó horário ou por minuto.
-
Nó com agendamento horário ou por minuto sem autodependência configurada
Se o nó com agendamento horário ou por minuto não tiver autodependência configurada, a instância gerada para o nó diário dependerá de todas as instâncias geradas para o nó horário ou por minuto no dia atual. Nesse caso, o nó diário agrega e processa todos os dados de tabela de todas as instâncias geradas para o nó horário ou por minuto no dia atual.
-
Nó com agendamento horário ou por minuto com autodependência configurada
Se o nó com agendamento horário ou por minuto tiver autodependência configurada, a instância gerada para o nó diário dependerá apenas de uma instância específica gerada para o nó horário ou por minuto, com base no princípio de proximidade de horário de agendamento. Os horários de agendamento das duas instâncias serão os mais próximos possíveis.
Para obter mais informações, consulte Apêndice 1: Cenários de dependência complexa.
Dependência das instâncias geradas para os nós descendentes de nível 1 do nó atual no ciclo anterior
Ao configurar esse tipo de dependência de agendamento para um nó, a instância gerada para o nó no ciclo atual só inicia a execução após a conclusão bem-sucedida das instâncias geradas para os nós descendentes de nível 1 do nó no ciclo anterior.
-
Configure as dependências de agendamento:
Acesse a aba de configuração do Nó C no Data Studio. Clique na aba Properties no painel de navegação à direita. Clique em Scheduling Dependencies na aba exibida.
-
Na seção Node Dependencies, clique em Add Dependency. No formulário exibido, defina as seguintes configurações:
Defina o parâmetro Dependency Type como Cross-cycle Dependency on Level-1 Descendant Node. O sistema busca automaticamente os nós dos quais o nó atual precisa depender, com base no código mais recente na aba de configuração do nó atual. Selecione os Nós A e B como nós ancestrais do nó atual.
Clique em Save para salvar as configurações de dependência de agendamento.
-
Descrição do fluxograma:
-
Descrição da Instância C1:
Processamento de dados: A Instância C1 processa dados nas tabelas de saída das Instâncias A e B na partição T-2.
Saída de dados: A Instância C1 gera dados na Tabela C1 na partição T-1.
-
Descrições das Instâncias A1 e B1:
Processamento de dados: As Instâncias A1 e B1 processam dados na tabela de saída da Instância C1 no dia T-1.
Saída de dados: As Instâncias A1 e B1 geram dados nas Tabelas A1 e B1 no dia T-1.
-
Descrição da Instância C2:
Processamento de dados: A Instância C2 processa dados nas tabelas de saída das Instâncias A1 e B1 na partição T-1.
Produz: Dados para a tabela C2 na partição T.
-
Descrições das Instâncias A2 e B2:
Processa: Dados da(s) tabela(s) de saída da instância C2 no dia T.
Saída de dados: As Instâncias A2 e B2 geram dados nas Tabelas A2 e B2 no dia T.
-
Dependência das instâncias geradas para um ou mais nós especificados no ciclo anterior
Ao configurar esse tipo de dependência de agendamento para um nó, a instância gerada para o nó no ciclo atual só inicia a execução após a conclusão bem-sucedida das instâncias geradas para um ou mais nós especificados no ciclo anterior.
-
Configure as dependências de agendamento:
Acesse a aba de configuração do Nó B no Data Studio. Clique na aba Properties no painel de navegação à direita. Clique em Scheduling Dependencies na aba exibida.
-
Na seção Node Dependencies, clique em Add Dependency. No formulário exibido, defina as seguintes configurações:
Defina o parâmetro Dependency Type como Cross-cycle Dependency.
Ancestor Object: Defina o parâmetro como Name e selecione o Nó D, que não pertence ao fluxo de trabalho formado pelos Nós A, B e C.
Selecione o Nó D como o nó ancestral do Nó B.
Descrição do fluxograma: O Nó C possui dois nós descendentes: Nó A e Nó B, e a instância gerada para o Nó B no ciclo atual depende da instância gerada para o Nó D no ciclo anterior. Neste exemplo, o ciclo atual é T e o ciclo anterior é T-1. A instância gerada para o Nó B no ciclo atual só inicia a execução após a conclusão bem-sucedida da instância gerada para o Nó D no ciclo anterior.
Visualize dependências de agendamento
Após configurar as dependências de agendamento para um nó, visualize-as. Para obter mais informações, consulte Próximas etapas: Verificar dependências.