As dependências de agendamento entre ciclos permitem que a instância do ciclo atual de um nó seja executada apenas após o sucesso das instâncias de um ou mais nós especificados no ciclo anterior. Utilize esse tipo de dependência quando um nó precisar de dados gerados por outro nó no dia anterior ou quando um nó com agendamento horário ou por minuto precisar aguardar a conclusão de sua própria instância do ciclo precedente.
Precauções
Observe os pontos abaixo ao configurar dependências de agendamento entre ciclos.
|
Item |
Descrição |
Referências |
|
Exibição das dependências de agendamento entre ciclos |
O grafo acíclico direcionado (DAG) de um nó exibe as dependências entre ciclos como linhas tracejadas. |
|
|
Verificação da necessidade de dependências no mesmo ciclo após configurar dependências entre ciclos |
Um nó só é executado depois que todos os seus nós ancestrais são concluídos com êxito. O sistema analisa automaticamente as dependências do mesmo ciclo por padrão. Caso configure dependências entre ciclos para um nó, verifique se as dependências do mesmo ciclo também são necessárias. Se não forem, exclua as dependências do mesmo ciclo geradas automaticamente para evitar o bloqueio do nó. |
|
|
Cenários complexos que exigem dependências entre ciclos |
As dependências do mesmo ciclo podem não atender aos requisitos de negócio em situações mais elaboradas. Nesses casos, configure dependências entre ciclos. Por exemplo, se um nó diário depender de um nó horário, a instância diária dependerá, por padrão, de todas as instâncias horárias geradas 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 de agendamento antes de fazer o deploy. Essa prática assegura que as instâncias do nó acionado automaticamente sejam executadas conforme o esperado. |
|
|
Deploy do nó |
Após configurar as dependências de agendamento entre ciclos para um nó, faça o deploy dele e de seus nós ancestrais no ambiente de produção. Em seguida, 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 em Add Dependency para configurar uma 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 o 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 do ciclo atual de um nó é executada somente após o sucesso da instância do ciclo anterior do mesmo nó. |
A instância do ciclo atual depende dos dados de negócio mais recentes produzidos pela instância do ciclo anterior do próprio nó. |
|
Dependência das instâncias geradas para os nós descendentes de nível 1 do nó atual no ciclo anterior |
A execução da instância do ciclo atual ocorre apenas depois que as instâncias do ciclo anterior dos nós descendentes são concluídas com êxito. |
A instância do ciclo atual depende da limpeza dos dados da tabela de saída do ciclo anterior pelas instâncias dos nós descendentes. |
|
Dependência das instâncias geradas para um ou mais nós especificados no ciclo anterior |
A instância do ciclo atual só inicia após o sucesso das instâncias do ciclo anterior de um ou mais nós definidos. |
Com base na lógica de negócio, a instância do ciclo atual depende dos dados da tabela de saída de outros nós no ciclo anterior, mesmo que o código não referencie esses dados diretamente. |
Dependência da instância gerada para o nó atual no ciclo anterior
Neste cenário, a instância do ciclo atual de um nó depende dos dados de negócio mais recentes gerados pela instância do ciclo anterior do mesmo nó. Verifique as seguintes dependências:
-
A instância do ciclo atual de um nó horário depende da instância do ciclo anterior do mesmo nó.
-
A instância do ciclo atual de um nó diário depende da instância do ciclo anterior do mesmo nó.
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 e, em seguida, clique em Scheduling Dependencies.
-
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 dependência ancestral.
Clique em Save para salvar as configurações de dependência de agendamento.
Os resultados de execução de instâncias horárias e diárias em diferentes ciclos de agendamento afetam uns aos outros.
Quando um nó diário depende de um nó horário ou por minuto, o horário de início da instância diária varia conforme a existência de uma autodependência configurada no nó horário ou por minuto.
-
Nó horário ou por minuto sem autodependência
Se o nó horário ou por minuto não possuir autodependência, a instância diária dependerá de todas as instâncias horárias ou por minuto do dia atual. Nesse caso, o nó diário agrega e processa todos os dados das tabelas de todas as instâncias horárias ou por minuto do dia.
-
Nó horário ou por minuto com autodependência
Caso o nó horário ou por minuto tenha autodependência, a instância diária dependerá apenas da instância horária ou por minuto cujo horário de agendamento seja o mais próximo, conforme descrito em principle of scheduling time proximity.
Para mais informações, consulte Appendix 1: Complex dependency scenarios.
Dependência das instâncias geradas para os nós descendentes de nível 1 do nó atual no ciclo anterior
Com este tipo de dependência, a instância do ciclo atual de um nó é executada somente após o sucesso das instâncias do ciclo anterior dos nós descendentes de nível 1 desse nó.
-
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 e, em seguida, clique em Scheduling Dependencies.
-
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 da aba de configuração. 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:
-
Detalhes 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.
-
Detalhes 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.
-
Detalhes 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.
-
Detalhes 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
Nesta modalidade, a instância do ciclo atual de um nó só é executada após o sucesso das instâncias do ciclo anterior de um ou mais nós especificados.
-
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 e, em seguida, clique em Scheduling Dependencies.
-
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 nó ancestral do Nó B.
Descrição do fluxograma: O Nó C possui dois nós descendentes: Nó A e Nó B. A instância do ciclo atual do Nó B depende da instância do ciclo anterior do Nó D. Neste exemplo, o ciclo atual é T e o ciclo anterior é T-1. A instância do Nó B no ciclo T é executada apenas após o sucesso da instância do Nó D no ciclo T-1.
Visualize dependências de agendamento
Após configurar as dependências de agendamento de um nó, visualize-as para validar a configuração. Para mais informações, consulte Next steps: Verify dependencies.