Todos os produtos
Search
Central de documentação

DataWorks:Orquestração de workflows agendados

Última atualização: Aug 27, 2026

Os workflows agendados automatizam o processamento recorrente de dados ao gerar instâncias de tarefas conforme uma programação predefinida (diária, mensal, entre outras). Cada tarefa executa somente quando o horário agendado chega e todas as dependências upstream são atendidas, mantendo pipelines de dados complexos estáveis e organizados. Os casos de uso típicos incluem:

  • Automatizar o processamento recorrente de dados: Sincronize, limpe ou agregue dados em intervalos diários, horários ou semanais.

  • Construir fluxos complexos de dependência DAG: Integre visualmente nós como MaxCompute SQL, Hologres, EMR e Python, defina dependências upstream e downstream e ative o agendamento automático.

  • Gerencie e agendar centralmente múltiplas subtarefas: Agrupe tarefas logicamente relacionadas em um único workflow para agendá-las, mantê-las e monitorá-las como uma unidade.

Início rápido

Importante

Este recurso está disponível na nova versão do dataworks Data Studio. Para saber como distinguir entre a versão nova e a antiga, consulte Distinguish between the new and legacy Data Studio.

Esta seção apresenta um workflow agendado pronto para execução. Você construirá um pipeline simples em que um nó virtual (o ponto inicial) aciona um nó MaxCompute SQL (para processamento de dados). O workflow calcula automaticamente o número total de pedidos do dia anterior e grava os resultados em uma tabela todas as manhãs.

Etapa 1: Preparar o mecanismo de computação e os dados

  1. No workspace de destino, bind a MaxCompute compute engine.

  2. No MaxCompute, crie a seguinte tabela para armazenar os resultados.

    -- Create a simple result table
    CREATE TABLE IF NOT EXISTS dw_order_count_test (
        order_date STRING,
        total_count BIGINT
    ) 
    PARTITIONED BY (ds STRING); -- Partitioned by ds to store daily aggregation results

Etapa 2: Crie um workflow agendado

  1. Acesse a página Workspaces no console do dataworks. Na barra de navegação superior, selecione a região desejada. Localize o workspace desejado e escolha Shortcuts > Data Studio na coluna Actions.

    Se o botão estiver rotulado como Data Development, ele abre o Data Studio legado. Não clique em nele.
  2. Clique em no ícone image na barra de navegação à esquerda e, à direita de Project Directory, clique em image > Create Workflow para abrir a página Create Workflow.

  3. Na caixa de diálogo Create Workflow, defina Scheduling Type como Periodic Scheduling, insira as informações necessárias (por exemplo, defina Name como minimal_daily_demo) e conclua a criação.

Etapa 3: Orquestrar o workflow: Arrastar nós e conectar dependências

  1. Na tela do workflow, arraste um Zero-Load Node do painel de componentes à esquerda e nomeie-o como start_node.

    O Zero-Load Node serve apenas para definir o ponto inicial de um processo de negócios e não executa de fato.
  2. Arraste um nó MaxCompute SQL e nomeie-o como count_orders.

  3. Clique em no círculo na parte inferior de start_node e arraste uma linha até o topo de count_orders para criar um pipeline de processamento simples.

Etapa 4: Desenvolver o código do nó

Importante

Recomendamos ativar o Data Agent para obter sugestões inteligentes de preenchimento de código e melhorar a eficiência do desenvolvimento.

  1. Dê um clique duplo no nó count_orders para abrir o editor de código do nó.

  2. Escreva o código da lógica de negócios para o nó (dados estatísticos simulados são usados aqui).

    -- bizdate is a defined scheduling variable whose meaning needs to be specified in the scheduling configuration
    INSERT OVERWRITE TABLE dw_order_count_test PARTITION (ds='${bizdate}')
    SELECT 
        '${bizdate}' as order_date,
        COUNT(*) as total_count
    FROM (SELECT 1 as id UNION ALL SELECT 2 as id) t; -- Simulated data
    Para mais informações sobre o desenvolvimento de nós, consulte Develop a MaxCompute SQL node .
  3. Clique em no botão Save na parte superior do editor de nós para salve a configuração.

Etapa 5: Configure agendamento e parâmetros

  1. Retorne ao workflow. No lado direito da tela do workflow, clique em na aba Scheduling Settings > Scheduling time:

    1. Defina Scheduling Frequency como Day.

    2. Defina Scheduling time como 00:05 (ou seja, 00:05 todos os dias).

  2. No lado direito do editor do nó count_orders, configure Scheduling Settings > Scheduling Parameters. Adicione um parâmetro com Parameter name definido como bizdate e Parameter Value definido como $[yyyymmdd-1] (isso representa a data atual menos um dia, ou seja, o dia anterior).

Etapa 6: Depurar um único nó e todo o workflow

  1. Depuração do nó count_orders:

    1. Configure parâmetros de depuração: Clique em Debug Configuration no lado direito da página de edição do nó.

      1. Em Compute Resource, selecione o recurso de computação MaxCompute preparado na Etapa 1.

      2. Em Script Parameters, insira o Value Used in This Run. O valor padrão é o dia anterior à data atual.

    2. Execute a tarefa de depuração: Clique em no botão Run na barra de ferramentas. O nó executa com os parâmetros de depuração configurados em Debug Configuration.

    3. Após os resultados da execução atenderem às expectativas, clique em Sync to Scheduling no canto superior direito para sincronizar a configuração de execução com as definições de agendamento.

  2. Depuração do workflow:

    1. Retorne à tela do workflow e clique em no ícone image na barra de ferramentas superior.

    2. Na caixa de diálogo exibida, insira o Value Used in This Run para o workflow (por exemplo, se hoje for 20260120, substitua bizdate por 20260119).

Etapa 7: Implantar em produção

  1. Retorne ao workflow e clique em no botão image na barra de ferramentas superior.

  2. No painel de implantação, o sistema realiza verificações de dependência e configuração. Após confirme que tudo está correto, clique em Start Release Production e defina o método de implantação como Full Publishing.

  3. Após uma implantação bem-sucedida, acesse o Operation and Maintenance Center para verifique se o workflow aparece na lista de tarefas agendadas.

Você concluiu o desenvolvimento de um workflow agendado simples. Este workflow execute automaticamente todos os dias nas primeiras horas da manhã.

Design e configuração principais

A orquestração de workflows utiliza uma tela DAG visual para organizar tarefas com nós de controle (como nós de junção e ramificação) e nós de interação (como gatilhos HTTP), passar contexto por meio de parâmetros de agendamento e definir a ordem de execução e condições de acionamento por meio de dependências de agendamento.

Orquestração de nós/workflows

Orquestração de processos simples

O desenvolvimento de dados geralmente envolve pipelines complexos, desde a integração de múltiplas fontes até a modelagem em camadas (como a construção das camadas ODS e DWD). O dataworks usa orquestração visual para decompor lógicas complexas em sub-nós funcionais e construir pipelines de processamento padronizados. Este modelo baseado em grafo acíclico direcionado (DAG) permite um fluxo automatizado orientado por estado: quando um nó upstream tem sucesso, ele aciona imediatamente as tarefas downstream, garantindo um processamento ponta a ponta linear, estável e ordenado. Nesta etapa, a orquestração é a forma mais simples — um DAG estático, linear e não reversível.

Orquestração complexa: Controle de fluxo

Nota

Os nós de ramificação/junção e for-each/do-while estão disponíveis apenas no dataworks Standard Edition e versões posteriores.

Os nós de controle de fluxo elevam o desenvolvimento de dados da integração de tarefas para a orquestração de negócios. Eles vão além do modelo de dependência linear única dos DAGs tradicionais ao adicionar lógica avançada por meio de um conjunto de nós de controle precisos.

Nome do nó

Descrição do nó

Nó virtual

Um nó virtual não realiza computações reais. Ele gerencie centralmente múltiplas subtarefas e serve como o nó inicial de um workflow. Por exemplo, em um workflow de análise de pedidos de produtos, um nó virtual chamado workshop pode conectar duas tarefas de sincronização em lote, tornando o caminho do fluxo de dados mais claro.

Nota

Para o desenvolvimento de nós independentes, use o nó raiz do workspace como o nó de dependência inicial.

Nó de ramificação

Direciona para diferentes lógicas downstream com base nos resultados upstream. Por exemplo, se o total diário de pedidos for 0, acione um nó de alerta e interrompa as computações subsequentes; se o total for maior que 0, continue para o nó de geração de relatórios.

Nó de junção

Mescla os resultados de execução de múltiplas ramificações para resolver problemas de dependência downstream. Por exemplo, uma tarefa de liquidação financeira depende de duas ramificações: "liquidação normal" e "lógica de ajuste". O nó de junção garante que o arquivamento final do relatório seja acionado desde que qualquer uma das ramificações seja concluída com sucesso.

Nó For-each

Itera sobre o conjunto de resultados de um nó de atribuição e executa operações downstream em cada elemento. Por exemplo, para 31 nomes de províncias obtidos por um nó de atribuição, o nó for-each executa uma tarefa de limpeza de dados 31 vezes, processando a partição de dados de uma província a cada vez.

Nó Do-while

Repete a execução até que uma condição seja atendida. Por exemplo, chame uma API externa a cada 10 minutos para consultar o status de sincronização de dados. Se o valor retornado for "Processing", o loop continua. Se o valor retornado for "Completed", o loop é encerrado e o processamento subsequente começa.

Para mais informações, consulte Common nodes in Data Studio .
image

Orquestração complexa: Consciência de estado e integração externa

Nota

Os nós de verificação estão disponíveis apenas no dataworks Professional Edition e versões posteriores. Outros nós estão disponíveis apenas no dataworks Enterprise Edition.

Esses nós avaliam se os recursos físicos necessários ou as tarefas anteriores estão prontos e integram-se a sistemas de terceiros para fazer a ponte entre plataformas de dados e sistemas de negócios.

Nome do nó

Descrição do nó

Gatilho HTTP

Recebe solicitações HTTP de sistemas externos para acionar tarefas do dataworks. Por exemplo, após um sistema de negócios upstream concluir o fechamento diário, ele chama uma API HTTP para acionar o pipeline de processamento de dados T+1 do dataworks.

Nó de verificação

Monitora se recursos externos (como arquivos OSS ou partições MaxCompute) estão prontos e aciona tarefas downstream assim que eles ficarem disponíveis. Por exemplo, um nó de verificação aguarda o arquivo de log do dia aparecer no OSS e, em seguida, inicia a tarefa de análise de log.

Nó de verificação de dependência

Usa polling ativo, combinações lógicas e verificações de prontidão de dependência entre ciclos ou entre workspaces para acionar tarefas downstream após todas as condições serem atendidas. Por exemplo, um nó agendado diariamente aguarda a conclusão de todas as 24 tarefas horárias do dia anterior.

Para mais informações, consulte Common nodes in Data Studio .
image

Encapsular sub-workflows para reutilização de lógica

É possível encapsular um pipeline de subtarefas estável e reutilizável em um sub-workflow por meio de um nó SUB_PROCESS, que outros workflows podem então referenciar. Por exemplo, linhas de negócios de e-commerce, publicidade e IoT podem compartilhar um pipeline padronizado para limpeza de dados, estatísticas resumidas e verificações de Qualidade de Dados.

Procedimento:

  1. No workflow child_workflow que você planeja referenciar, defina a propriedade General do workflow como Can be cited. Isso converte o workflow em um sub-workflow.

  2. No workflow principal, arraste um nó SUB_PROCESS e defina o workflow referenciado como child_workflow.

Os sub-workflows possuem as seguintes restrições:

  • Internalidade: O workflow e todos os seus nós internos não podem ter dependências de tarefas externas.

  • Isolamento: O workflow não pode ser definido diretamente como dependência por nenhuma tarefa externa.

  • Acionamento passivo: Após a implantação, o workflow não gera automaticamente instâncias agendadas. Ele execute apenas quando chamado por um nó SUB_PROCESS em outro workflow.

    Para mais informações, consulte Create a sub-workflow .
image

Divisão de workflows e recomendações de design modular

Para manter os workflows fáceis de manter e com bom desempenho, divida workflows grandes com mais de 100 nós:

  • Dividir por domínio de negócios: Separe os pipelines de processamento para diferentes tópicos de negócios (como transações, usuários e produtos) em workflows distintos.

  • Usar SUB_PROCESS para encapsular lógica comum: Encapsule etapas de processamento comuns e reutilizáveis (como limpeza e formatação de dados) como workflows referenciáveis.

Configurações de dependência de agendamento

As dependências de agendamento conectam tarefas isoladas em um pipeline ordenado de produção de dados por meio de duas condições: cumprimento do horário agendado e sucesso upstream. Ao orquestrar nós dentro de um workflow, as dependências de agendamento são estabelecidas automaticamente. Também é possível configure dependências mais complexas pelas configurações de dependência de agendamento.

Para mais informações, consulte Configure scheduling dependencies .

Dependência no nível do workflow

Use dependências no nível do workflow quando todo o workflow precisar aguardar a conclusão de outras tarefas (outro workflow ou um nó independente) antes de iniciar. Isso é adequado para cenários em que um workflow atua como um módulo de negócios independente. Por exemplo, um workflow de vendas aguarda a saída de um workflow de dados básicos antes de começar.

Dependência no nível do nó

Utilize dependências no nível do nó quando um nó específico em um workflow precisar aguardar a conclusão de uma tarefa externa fora do workflow atual. Isso permite uma orquestração granular entre workflows. Por exemplo, um nó de resumo em um workflow de relatórios aguarda a saída de um nó específico em um sistema financeiro externo. Recomendamos configure um nó de verificação de dependência upstream para garantir que a tarefa dependente seja concluída no prazo.

Dependência entre ciclos

A dependência entre ciclos significa que a instância do ciclo atual de uma tarefa depende de instâncias de um ciclo diferente, suportando autodependência do mesmo nó ou dependência entre nós. Por exemplo, tarefas que usam INSERT OVERWRITE para sobrescrever partições em uma tabela, ou cenários que envolvem cálculos cumulativos. Após ative a autodependência, a instância do dia atual deve aguardar o sucesso da instância do dia anterior antes de poder executar.

Dependência entre workspaces

Para depender de tarefas em outro workspace do dataworks, identifique exclusivamente um nó usando o nome do workspace e o Output Name, Name ou ID do nó. Isso é adequado para colaboração de dados entre departamentos e projetos. Por exemplo, uma tarefa em um workspace de marketing referencia dados-chave de um workspace contábil.

image

Design e fluxo de parâmetros

Nota

Os parâmetros de workspace estão disponíveis apenas no dataworks Professional Edition e versões posteriores.

O dataworks Data Studio suporta quatro níveis de passagem de parâmetros e permite a transferência flexível de dados dinâmicos entre nós por meio de parâmetros de contexto de nó. Listados do menor para o maior escopo:

Parâmetros de nó

Quando o mesmo código SQL precisa processar dados de partições diferentes todos os dias, use parâmetros de nó para definir datas dinamicamente. Constantes, variáveis integradas e expressões de tempo personalizadas são suportadas.

Para mais informações, consulte Configure scheduling parameters.

Parâmetros de contexto

Passe valores dinamicamente para nós downstream por meio de parâmetros de saída upstream. Constantes, variáveis e resultados de execução upstream são todos suportados.

Para mais informações, consulte Configure context parameters.

Parâmetros de workflow

Quando dezenas de nós em um workflow precisam compartilhar certos identificadores de negócios, os parâmetros de workflow se aplicam a todos os nós no workflow e eliminam a necessidade de modifique parâmetros de nó individualmente.

Para mais informações, consulte Workflow parameters.
Nota

Sub-workflows dentro de um workflow podem referenciar diretamente os parâmetros do workflow.

Parâmetros de workspace

Quando o código executa em ambientes diferentes, nomes de bancos de dados e caminhos de recursos geralmente diferem. Parâmetros no nível do workspace distinguem entre ambientes e se aplicam a todos os nós no workspace. Por exemplo, defina um parâmetro de workspace db_name com valor db_dev no ambiente de desenvolvimento e db_prod no ambiente de produção.

Para mais informações, consulte Configure workspace parameters.

image

Configurações de agendamento

Importante

A principal diferença entre workflows agendados e processos de negócios legados é que um workflow define o agendamento como um todo, enquanto um processo de negócios é apenas um agrupamento físico e não suporta a definição de agendamento global.

Os agendamentos são definidos no nível do workflow. Os nós internos só podem definir um tempo de execução atrasado, calculado adicionando o atraso ao horário agendado definido pelo workflow.

Dimensão

Configuração no nível do workflow

Comportamento no nível do nó interno

Atributo de tempo

Tempo absoluto (por exemplo, 02:00)

Tempo relativo (atraso baseado no horário de agendamento do workflow)

Atributo de ciclo

Define ciclos diários/horários/minutos/semanais/mensais/anuais

Herda o ciclo do workflow e não pode ser modificado

Lógica de acionamento

Chegada do tempo físico + sucesso upstream

Tempo físico + tempo de atraso + sucesso upstream

Depuração e execução

Após concluir o desenvolvimento de nós e workflows, depure nós individuais e execute todo o workflow para verifique a correção antes da implantação.

Depuração de nó único

A depuração de nó único verifica a lógica do código dentro de um nó, como validar uma instrução SQL, um script Python ou uma tarefa de sincronização do Data Integration. Este modo execute apenas o nó atual sem acionar dependências upstream ou downstream.

  1. No painel Debug Configuration no lado direito do nó, configure os seguintes parâmetros:

    Nome do parâmetro

    Descrição

    Recurso de computação

    Selecione o recurso de computação associado. Se nenhum recurso de computação estiver disponível, selecione Create Compute Resource na lista suspensa.

    Importante

    Certifique-se de que o recurso de computação e o grupo de recursos estejam conectados. Para mais informações, consulte Network connectivity.

    Grupo de recursos

    Selecione um grupo de recursos que tenha passado no teste de conectividade quando o recurso de computação foi associado. Alguns nós suportam configure dependency packages no grupo de recursos para estender o ambiente de execução.

    (Opcional) Dataset

    Alguns nós (como Shell e Python) suportam mounting datasets para acessar dados não estruturados armazenados no OSS ou NAS.

    (Opcional) Parâmetros de script

    Ao configure o conteúdo do nó e definir variáveis usando o formato ${parameter_name}, configure Parameter name e Parameter Value em Script Parameters. Durante a execução, as variáveis são substituídas dinamicamente pelos valores reais. Para mais informações, consulte Configure scheduling parameters.

    (Opcional) Função associada

    Alguns nós (como Shell e Python) suportam configuring associated roles para acessar recursos de outros serviços da Alibaba Cloud.

  2. Na barra de ferramentas acima do nó, clique em Save e depois em Run para execute a tarefa do nó.

  3. Visualize o log de execução e os resultados na parte inferior do nó.

Depuração de workflow

A depuração de workflow verifica se as dependências de dados, a passagem de parâmetros e a ordem de execução em múltiplos nós do pipeline estão corretas. Após a depuração de nó único, você pode depurar um pipeline parcial ou todo o workflow.

  1. Na página da tela DAG do workflow, clique em no botão Run na barra de ferramentas superior. Você também pode selecione um nó, clique em com o botão direito e escolha Run to this node ou Run from this node para realizar uma verificação parcial.

  2. Na caixa de diálogo exibida, atribua valores temporários para todas as variáveis de nó no workflow (como ${bizdate}) para esta execução de depuração.

  3. O sistema executa estritamente os nós de cima para baixo, seguindo as relações de dependência definidas no DAG. Monitore o status dos nós em tempo real na tela e clique em qualquer nó para visualize o log de execução.

  4. Clique em no botão Return no lado esquerdo da tela para retornar ao estado de desenvolvimento do workflow.

    O histórico de execução no lado direito exibe todos os registros de execução de depuração do workflow.
Importante

Todos os nós comuns que envolvem controle de fluxo (do-while, ramificação e junção) devem ser colocados dentro de um workflow e trabalhar em conjunto com nós upstream e downstream para serem efetivamente depurados e executados.

Gerenciamento e operações

Gerencie nós de workflow

O dataworks permite importar nós independentes existentes para um workflow, remover nós de um workflow ou mover nós entre workflows para reutilização eficiente e gerenciamento modular.

Importar nós existentes para um workflow

Adicione nós independentes existentes que não pertencem a nenhum workflow à tela do workflow atual por meio de Import Node para reutilização.

  1. Dê um clique duplo no workflow de destino para abrir a página de edição da tela.

  2. No painel de componentes à esquerda, mude para a aba Import Node.

  3. O painel lista todos os nós independentes que podem ser adicionados. Filtre e pesquise por Node Type, Path ou Node Name para localizar rapidamente o nó de destino.

  4. Após encontrar o nó, arraste-o para a tela para concluir a importação.

Remover nós de um workflow

Remova um nó de um workflow para torná-lo um nó independente ou mova-o diretamente para outro workflow.

  • Remover de um workflow como nó independente

    Use este recurso quando precisar desacoplar um nó de um workflow para que ele não faça mais parte dele.

    1. Na árvore de diretórios do projeto ou na tela do workflow, clique em com o botão direito no nó de destino.

    2. No menu de contexto, selecione Remove from workflow.

    3. Na caixa de diálogo de confirmação, selecione o caminho de destino onde o nó será armazenado após a remoção e confirme.

  • Mover para outro workflow

    Utilize este recurso quando precisar reestruturar um processo de negócios e migrar um nó do workflow atual para outro workflow.

    1. Na árvore de diretórios do projeto ou na tela do workflow, clique em com o botão direito no nó de destino.

    2. No menu de contexto, selecione Move to another workflow.

    3. Na lista exibida, selecione o workflow de destino e confirme.

      Você também pode selecione e arrastar um nó diretamente para o workflow de destino para movê-lo.
Importante

Antes de realizar esta operação, avalie cuidadosamente o impacto potencial nos processos de negócios existentes e reconfigure prontamente as dependências no novo local.

  • Ao remover ou mover um nó de um workflow, as dependências upstream e downstream configuradas para esse nó dentro do workflow original são quebradas.

  • Os parâmetros de workflow configurados no nó também deixam de ser eficazes.

Clonar um workflow

A clonagem copia um workflow existente — incluindo todos os seus nós internos, código e dependências — para gerar um workflow independente. Para clonar, acesse Project Directory, clique em com o botão direito no workflow de destino e selecione Cloning.

A clonagem copia quase todas as configurações, o que pode introduzir riscos. Antes de implantar o workflow clonado, verifique o seguinte (verificação de "isolamento de ambiente"):

  1. Tabelas de saída e fontes de dados de destino: O código do workflow clonado grava nas mesmas tabelas de destino que o workflow original. Modifique os nomes das tabelas de destino no código (por exemplo, altere ods_user_table para dev_ods_user_table) ou modifique a configuração de saída do nó para evitar que múltiplas tarefas operem na mesma tabela, o que causaria conflitos de dados.

  2. Dependências upstream: Verifique a configuração de dependência upstream do workflow. O workflow clonado ainda depende das tarefas upstream originais por padrão. Confirme se isso atende às suas expectativas. Caso contrário, pode causar confusão no pipeline de dados ou execução simulada de tarefas.

  3. Configuração de parâmetros: Verifique os parâmetros personalizados do workflow e de seus nós internos, especialmente parâmetros relacionados a partições de data (como ${bizdate}), caminhos de entrada/saída e outros parâmetros. Certifique-se de que estejam corretos no novo ambiente.

Além de clonar workflows, você também pode clonar nós dentro de um workflow, mas a cópia de nós entre workflows não é suportada.

Gerenciamento de versões

Importante

Quando um nó interno é implantado individualmente, uma nova versão também é gerada para o workflow.

O gerenciamento de versões registra automaticamente cada alteração no workflow, suporta a visualize e comparação de versões históricas e permite a restauração para qualquer estado histórico quando necessário.

No lado direito da tela do workflow, o painel Version mostra dois tipos de registros:

  • Registro de desenvolvimento: Gerado cada vez que você clique em Save na tela. Este snapshot previne perda acidental de código durante o desenvolvimento e não afeta tarefas em execução em produção.

  • Registro de implantação: Gerado após um workflow ser implantado no ambiente de produção. Esta é a versão que o agendador de produção executa. Quando tarefas de produção encontrarem problemas, foque nos registros de implantação para restauração.

Casos de uso típicos

  • Restauração rápida em caso de falha: Quando uma tarefa de produção falha devido a alterações de código, use Restore para reverter o workflow para a última versão de implantação estável com um clique, minimizando o tempo de inatividade.

  • Auditoria e rastreamento de alterações: Para investigar quando a lógica foi alterada e por quem, use os recursos de lista de versões e Diff para rastrear cada mudança de código.

  • Recuperação de código: Se você exclua acidentalmente a lógica do código sem salvar, restaure-a a partir do registro de desenvolvimento mais recente.

Considerações importantes

  • A restauração sobrescreve a área de desenvolvimento atual: Restore usa a versão histórica selecionada para sobrescrever todo o código e configurações na tela atual. Antes de restaurar, faça backup de quaisquer alterações não confirmadas copiando-as para um editor de texto local.

  • Nova implantação é necessária após a restauração: Restore apenas restaura o código para o estado de desenvolvimento. Você deve implantá-lo manualmente para que a restauração tenha efeito em produção.

Implantação e operações

  • Implantação de nó/workflow: Após concluir o desenvolvimento do workflow, implante os nós/workflows no ambiente de produção. Neste ponto, os nós no ambiente de desenvolvimento geram tarefas agendadas correspondentes no ambiente de produção. Para mais informações, consulte Deploy nodes and workflows.

  • Operações de nó/workflow: Workflows no ambiente de produção são agendados periodicamente com base nas configurações de agendamento. Acesse o Operation and Maintenance Center para visualize o status de agendamento dos workflows agendados e realizar operações relacionadas. Para mais informações, consulte Scheduled tasks e Scheduled instances.

Mecanismo de execução de tarefas

Em cenários de agendamento, o sucesso geral de um workflow depende do status de execução de suas tarefas internas.

O sucesso geral de um workflow é determinado pelo status final de seus nós internos:

  • Falha: Se qualquer nó crítico falhar, toda a instância do workflow é tipicamente marcada como falha.

  • Congelamento/Pausa: Se um nó dentro do workflow for manualmente congelado ou pausado, e esse nó for upstream para nós subsequentes, o pipeline é interrompido e todo o workflow também é marcado como falha.

  • Nó de junção: Se o workflow usar um nó de junção, mesmo que um nó em uma ramificação upstream falhe, todo o workflow pode retornar "sucesso" desde que a própria lógica do nó de junção determine o sucesso. Portanto, projete cuidadosamente as verificações upstream para nós de junção para evitar que tarefas sejam executadas com erros não detectados.

Cenários especiais:

  • Quando você congela uma instância de backfill de dados de uma tarefa de workflow, a instância do workflow é definida com status de sucesso.

  • Em cenários de backfill de dados, se o sistema determinar que uma tarefa não pode ser executada, o workflow é definido com status de falha.

Importante

Existe uma latência entre a atualização do status da instância e a ocorrência real do evento de falha.

image

Cotas e limites

  • Limite de contagem de nós: Um único workflow suporta até 400 nós internos. Para garantir o desempenho de carregamento da tela e a manutenibilidade, mantenha a contagem de nós abaixo de 100. Para cenários maiores, use divisão modular.

  • Limites de sub-workflow:

    • Um workflow com a opção referenciável ativada não pode ter seus nós dependendo de tarefas externas, nem pode ser diretamente dependido por tarefas externas. Caso contrário, ocorre um erro durante a implantação.

    • Após tal workflow ser implantado no ambiente de produção, instâncias agendadas não são geradas automaticamente por padrão. O workflow execute como uma subtarefa apenas quando referenciado por um nó SUB_PROCESS em outro workflow.

  • Máximo de instâncias paralelas: Workflows agendados não suportam a definição do número máximo de instâncias paralelas no nível do workflow. Você só pode definir isso para tarefas internas dentro do workflow. Para limitar a execução concorrente, configure Max Parallel Instances na política de agendamento de nós individuais. Para mais informações, consulte Configure scheduling policies.

  • Tipos de nós não suportados: EMR Spark Streaming, Flink SQL Streaming, Flink JAR Streaming e Flink Python Streaming não são suportados em workflows. Eles só podem ser desenvolvidos e executados como nós independentes.

FAQ

  • P: Qual é a diferença entre um workflow e um processo de negócios?

    R: Um workflow é uma entidade de agendamento unificada, enquanto um processo de negócios é simplesmente um agrupamento baseado em pastas.

  • P: Por que a depuração tem sucesso, mas o agendamento periódico falha?

    R: A causa mais comum é inconsistência de ambiente. Foque no seguinte:

    • Diferenças de grupo de recursos: Durante a depuração, você pode ter usado um grupo de recursos pessoal ou de depuração, enquanto o agendamento de produção usa um grupo de recursos de produção. Verifique se o grupo de recursos de produção é válido, tem capacidade suficiente e possui as permissões corretas.

    • Diferenças de permissão: A conta de execução do ambiente de produção pode não ter permissões de acesso a certas tabelas, funções ou recursos.

    • Diferenças de dependência: As dependências no ambiente de produção são inconsistentes com as do ambiente de desenvolvimento, ou a saída das dependências upstream não existe no ambiente de produção.

  • P: Por que uma instância está sempre pendente/não executando?

    R: Uma instância execute apenas quando todas as condições são atendidas: horário agendado, recursos de agendamento disponíveis e conclusão da dependência upstream.

    • Dependências upstream não concluídas: No Operation Center, visualize a visualização de dependências da instância para verifique qual tarefa upstream ainda não teve sucesso.

    • Aguardando recursos: A fila do grupo de recursos de computação está cheia e a tarefa está aguardando recursos.

    • Workflow/nó congelado: Verifique se o workflow ou seus nós upstream foram manualmente congelados ou pausados.

    • Instância não gerada: Verifique se o horário atual atingiu o horário agendado do workflow. Se a tarefa acabou de ser implantada, aguarde até o próximo ciclo de agendamento para que as instâncias sejam geradas. Para mais informações, consulte Scheduling time and instance generation.

  • P: Por que todo o workflow aparece como falha quando alguns nós tiveram sucesso?

    R: Isso é determinado pelas regras de avaliação de status do workflow:

    • Falha no caminho crítico: Se qualquer nó com dependências downstream incompletas falhar, todo o workflow é marcado como falha, mesmo que outras ramificações paralelas tenham tido sucesso.

    • Nó congelado: Um nó interno sendo congelado causa a falha de todo o workflow.