Um workflow automatiza o processamento de dados ao organizar nós de tarefas em um DAG visual com funcionalidade de arrastar e soltar. Ele estabelece dependências e agendamentos para criar pipelines de dados confiáveis.
Conceitos principais
O workflow é a unidade central de orquestração no DataWorks. Ele organiza nós de tarefas (SQL, Shell, Python, sincronização de dados, Check) em um grafo acíclico direcionado (DAG) com dependências claras, o que permite agendamento e execução unificados. Também é possível combinar workflows para atender a cenários de negócios complexos.
Ao integrar tarefas isoladas em um processo estruturado, os workflows deslocam o foco do gerenciamento de tarefas individuais para o gerenciamento de todo o pipeline de dados. Principais benefícios:
Abstração e visualização dos processos de desenvolvimento: Encapsule nós dependentes, como tarefas SQL e Shell, em um workflow orientado a negócios, como "Análise Diária de Usuários Ativos". Isso cria um DAG claro que explicita a linhagem técnica, ajuda partes interessadas não técnicas a compreender o fluxo de dados e alinha objetivos de negócios à implementação técnica.
Gerenciamento atômico para desenvolvimento e O&M: O workflow serve como menor unidade para alterações e operações. Ele suporta submissão, implantação e tarefas de O&M de forma holística, como testes, reexecução e backfill de dados. Essa abordagem evita problemas em produção causados por modificações parciais e garante consistência e estabilidade de ponta a ponta.
-
Definição de limites para colaboração em equipe: Em ambientes com múltiplas equipes, o workflow esclarece propriedade e responsabilidades. Por exemplo, a equipe de transações pode ser responsável pelo workflow de dados de transações, enquanto a equipe de product cuida do workflow de dados de product. Isso permite isolamento de permissões e rastreamento de problemas. Saídas padronizadas também facilitam a colaboração eficiente e desacoplada entre equipes upstream e downstream.
Comparação de tipos de workflow
O DataWorks recomenda dois tipos de workflow:
Workflow agendado: Executa automaticamente em um cronograma fixo (horário, diário, semanal). Regras de agendamento o acionam, e o horário programado controla a execução dos nós. Ideal para processamento recorrente de dados.
Workflow acionado por eventos: Sinais externos o iniciam sob demanda — operações manuais, chamadas de OpenAPI ou mensagens de eventos. Não depende de um cronograma fixo. Suporta acionamento manual, via API e por eventos. Adequado para processamento em tempo real ou resposta a eventos externos.
|
Recurso |
Workflow agendado |
Workflow acionado por eventos |
Workflow manual (não recomendado) |
|
Método de agendamento |
Acionado por horário agendado e dependências |
Acionamento manual/por evento/via API |
Execução manual |
|
Caso de uso |
Processamento em lote diário/horário/semanal/mensal |
Processamento em tempo real/execução sob demanda/integração externa |
Tarefas ad hoc (compatibilidade legada) |
|
Prioridade de parâmetros |
Nó > Workflow > Workspace |
Nó > Workflow > Workspace |
Workflow > Nó |
|
Exemplo típico |
Relatório diário T+1 à meia-noite |
Processamento automático quando um arquivo OSS chega |
Correção única de dados |
Um workflow acionado por eventos sem um gatilho vinculado também pode funcionar como um workflow de execução manual, substituindo gradualmente os workflows manuais.
Workflows manuais existem principalmente para compatibilidade com o modo legado de desenvolvimento de dados. Não recomendamos seu uso em novos projetos.
Guia rápido de seleção
Responda às três perguntas a seguir para determinar rapidamente o tipo adequado de workflow:
FAQ
Como obtenho o modelo Spec de um workflow?
Abra um workflow existente na página Data Studio e clique em Show Spec no canto superior direito da tela para visualizar e copiar a Spec do workflow (no formato JSON). Use essa Spec como modelo para crie ou atualize workflows por meio da OpenAPI.
Uma tarefa agendada pode parar automaticamente após uma execução bem-sucedida?
Não. Um workflow agendado executa continuamente conforme o cronograma configurado e não para automaticamente após uma execução bem-sucedida. Se você precisar que uma tarefa execute apenas uma vez, utilize um dos métodos abaixo:
Congele a tarefa manualmente: Após a execução bem-sucedida, congele a tarefa manualmente. Uma tarefa congelada deixa de participar do agendamento. Para mais informações, consulte Freeze a task.
Utilize um workflow acionado por eventos: Se o cenário de negócios exigir apenas uma execução única, essa opção é mais adequada. Como não está vinculado a um cronograma, esse tipo de workflow executa somente quando acionado manualmente, chamado via API ou disparado por um evento, atendendo naturalmente à necessidade de execução única.
Referências
Selecione o documento relevante com base no seu cenário:
Para cenários de agendamento periódico, consulte Scheduled workflows.
Para cenários orientados a eventos, consulte Event-triggered workflows.
Para monitoramento de O&M, consulte O&M monitoring.