Uma definição de workflow permite criar um Grafo Acíclico Direcionado (DAG) visual arrastando e soltando nós e estabelecendo dependências entre eles. Este tópico descreve como criar e gerenciar definições de workflow.
Pré-requisitos
Crie um projeto. Para mais informações, consulte Create a project.
Criar um workflow
-
Acesse a aba Project.
Faça login no EMR console com sua conta Alibaba Cloud (conta principal) ou um usuário RAM.
No painel de navegação à esquerda, escolha EMR Studio > Workflow.
Na página Workflow, localize o workspace desejado e clique em Console na coluna Actions.
Na página Project Management, clique no nome de um projeto existente.
No painel de navegação à esquerda, escolha Development > Workflow Definition.
Na página Workflow Definition, clique em Create Workflow.
-
Na página Create Workflow, arraste um nó para a tela. Na caixa de diálogo exibida, configure os parâmetros e clique em OK.
Este exemplo utiliza um nó SHELL. Para mais informações sobre outros tipos de nó, consulte Node types.
Parâmetro
Descrição
Node Name
Nome do nó. Deve ser único no workflow.
Run Task
-
Normal (padrão): executa o nó durante a execução do workflow.
-
No: ignora o nó durante a execução do workflow.
Description
Descrição da funcionalidade do nó.
Task Priority
Prioridade do nó no workflow. Valor padrão: MEDIUM. Valores válidos:
HIGHEST
HIGH
MEDIUM
LOW
LOWEST
Retries After Failure
Número máximo de tentativas automáticas de reexecução do nó em caso de falha no workflow.
Retry Interval upon Failure
Intervalo entre duas tentativas consecutivas. Unidade: minutos.
Time for Delayed Execution
Tempo de atraso antes da execução do nó. O valor padrão é 0, o que indica execução imediata após a criação. A execução só será atrasada se você especificar um valor maior que 0 para este parâmetro. Unidade: minutos.
Timeout Alert
Esta chave vem desativada por padrão. Ative a chave Timeout Alert para definir uma duração de timeout e selecione pelo menos uma estratégia de timeout.
-
Timeout Alert: envia uma notificação ao grupo de alertas especificado se o tempo de execução do nó exceder a duração de timeout configurada.
-
Task Failed Upon Timeout: marca a instância do nó como falha se o tempo de execução exceder a duração de timeout configurada.
Node to Run Tasks
-
Resource Group for Scheduling (padrão): submete o nó ao grupo de recursos de agendamento do workflow.
-
Worker Node in EMR Cluster (Submitted to YARN): submete o nó a um worker node em um cluster EMR para execução em um contêiner YARN.
AvisoEste modo afeta diretamente o sistema de arquivos ou o ambiente de execução do cluster EMR. Proceda com cautela.
Neste modo, também é possível configurar os seguintes parâmetros:
-
Queues for Scheduling: fila YARN à qual o nó é submetido.
-
Task Execution Container Memory (MB): memória para o contêiner de execução da tarefa. O valor padrão é 1024.
-
Number of vCPUs: número de vCores alocados ao contêiner de execução da tarefa. Padrão: 1.
-
Priority: prioridade do contêiner, de 0 a 100, onde um valor maior indica maior prioridade. Padrão: 0.
-
Execution User: por padrão, o usuário
dolphinschedulersubmete o nó. Em um cluster padrão (não seguro), para definir um usuário de execução personalizado, garanta que o service YARN inclua as seguintes configurações:yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor
yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false
-
NotaPara tarefas baseadas em YARN, como Spark, Hive ou Sqoop, defina Node to Run Tasks como Worker Node in EMR Cluster (Submitted to YARN). Isso permite aproveitar totalmente os recursos de agendamento e gerenciamento do YARN.
Script
Programa Shell personalizado.
NotaAo realizar operações de escrita no script, observe o seguinte:
-
É possível gravar dados em sistemas de armazenamento remoto, como sistemas de arquivos distribuídos, incluindo Alibaba Cloud OSS e HDFS.
-
Não grave dados no sistema de arquivos local do cluster. Operações diretas em caminhos locais, como
/tmp/local_file.txt, não são suportadas.
Resources
Arquivos de recursos necessários para a execução do nó. Carregue esses arquivos primeiramente na página Resource Center, em File Management. Após selecioná-los, referencie-os no script pelos caminhos completos, por exemplo,
path/to/test.txt.Custom Parameters
Parâmetros personalizados do nó que substituem os placeholders
${variable}no script. Para mais informações, consulte Parameters.Pre-task
Nó ancestral do nó atual.
-
-
Opcional. Configure dependências entre nós.
O EMR Workflow permite configurar dependências personalizadas de nós entre workflows.
Clique no ícone
no lado direito de um nó e arraste a linha de conexão para conectá-lo a outro nó.Selecione uma linha de conexão ou um nó e clique no ícone
no canto superior direito para excluir a dependência ou o nó.
-
Salve o workflow.
No canto superior direito, clique em Save.
-
Na caixa de diálogo exibida, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Name
Nome do workflow.
Description
Descrição da funcionalidade do workflow.
Timeout Alert
Esta chave vem desativada por padrão. Se você ativar a chave Timeout Alert, deverá especificar um Timeout Period. Um alerta será enviado se o tempo de execução exceder esse período de timeout.
Execution Policy
Modo de execução das instâncias do workflow. Valores válidos:
Parallel (Padrão): as instâncias do workflow são executadas em paralelo.
Serial Waiting: executa as instâncias do workflow sequencialmente. Cada nova instância aguarda a conclusão da anterior antes de iniciar.
Global Variables
Variável válida para todos os nós do workflow.
Operações em um workflow
Na página Workflow Definition, realize as seguintes operações.
Operação | Descrição |
Edit | Permite editar apenas definições de workflow com status Unpublish. |
Run | Permite executar apenas workflows com status online. Workflows online não podem ser editados. Para mais informações, consulte Run a workflow. |
Configure Scheduling Time | Apenas workflows online podem ser agendados. O sistema executa automaticamente o workflow conforme o cronograma definido. Após criar um agendamento, o status torna-se online, mas ele só entra em vigor após ativação na página Schedule Management. Para mais informações sobre como agendar um workflow, consulte Schedule a workflow. |
More |
|
Executar um workflow
A execução de um workflow gera uma nova instância na página Workflow Instance.
Na coluna Actions, clique em Run.
-
Na caixa de diálogo exibida, configure os parâmetros e clique em OK.
Parâmetro
Descrição
Policy upon Failure
Política para tratamento de falhas de nós em um workflow.
Proceed: se um nó falhar, os demais continuam a execução conforme agendado.
Finished (Padrão): se um nó falhar, seus nós downstream são encerrados.
Notification Policy
Envia uma notificação por e-mail com base no status final da execução do workflow. Opções disponíveis: Do Not Send (Padrão), Send for Successful Workflows, Send for Failed Workflows e Always Send.
Workflow Priority
Prioridade do nó no workflow. Valor padrão: MEDIUM. Valores válidos:
HIGHEST
HIGH
MEDIUM
LOW
LOWEST
Resource Groups for Scheduling
Grupo de recursos usado para agendamento e execução da tarefa. Selecione um grupo de recursos de agendamento existente na lista suspensa.
Cluster/Template
Cluster ou modelo de cluster para execução. As opções disponíveis são filtradas com base no grupo de recursos de agendamento selecionado.
NotaSe você selecionar um Cluster/Template para o Cluster Template, um novo cluster será criado com base no modelo durante a execução do workflow e liberado após a conclusão. Caso tenha configurado um Timeout Alert para a definição do workflow, o cluster também será liberado automaticamente se a regra de timeout for acionada. Sem a configuração de Timeout Alert, o sistema libera o cluster automaticamente após 24 horas de execução.
Backfill
Define se dados retroativos devem ser gerados com base nas configurações de backfill quando o workflow é executado dentro do intervalo de tempo especificado.
NotaRegra de backfill: se o workflow possuir um agendamento ativo, o backfill segue a frequência desse agendamento. Caso contrário, o sistema gera execuções uma vez por dia às 00:00 por padrão.
Limitação: uma única operação de backfill de dados pode gerar no máximo 100 instâncias de workflow.
Selecione Yes e configure os seguintes parâmetros:
Dependency Mode: suporta Open e Off (padrão). Esta configuração define se o backfill de dados de uma instância do workflow atual aciona o backfill para seus nós dependentes downstream.
Dados retroativos são gerados para workflows dependentes do workflow atual somente se este estiver no estado Online e possuir configurações de agendamento definidas.
Execution Method
Serial Execution: executa as rodadas de backfill sequencialmente, criando uma instância de workflow para cada intervalo no período especificado.
Parallel Execution (Padrão): dentro do intervalo especificado, as execuções de backfill para múltiplos dias ocorrem simultaneamente, gerando várias instâncias de workflow ao mesmo tempo.
Para este modo, configure também o parâmetro Customize Parallelism, que define o número máximo de instâncias executadas em paralelo. O paralelismo máximo por operação de backfill é 7.
NotaSe a definição do workflow utilizar a política de execução Parallel, apenas a Parallel Execution estará disponível para backfill. Da mesma forma, workflows com política Serial Waiting exigem Serial Execution para backfill de dados.
Scheduling Period: intervalo de datas para a execução do workflow.
Global Parameters
Parâmetro de inicialização e seu respectivo valor. O valor serve para definir uma variável global ou sobrescrever o valor existente ao iniciar uma nova instância do workflow.
Dry Run
Define se deve ser realizada uma execução simulada (dry run) do workflow. Nesse caso, um log de sucesso é registrado.
No painel de navegação à esquerda, escolha Instance O&M>Workflow Instance para visualizar o status de execução da instância.
Importar um workflow
Na página , clique em Import.
Clique em Upload, selecione o arquivo de definição de workflow exportado (.json) no computador local e clique em OK.
Configurar um workflow agendado
Na página Workflow Definition, localize a definição de workflow desejada e clique em Configure Scheduling Time na coluna Actions.
-
Na caixa de diálogo exibida, defina os parâmetros e clique em OK.
Time Period: o agendamento permanece ativo apenas durante este intervalo. Nenhuma instância é gerada fora dele.
Configure Scheduling Time: horário e frequência de execução do workflow.
Na coluna Schedule Status, ative a chave para habilitar o agendamento.
Para visualizar informações sobre instâncias de workflow, consulte Manage workflow instances.
Para mais detalhes sobre parâmetros suportados, consulte Parameter reference.
Tópicos relacionados