Todos os produtos
Search
Central de documentação

DataWorks:Configurar e usar parâmetros de contexto de nó

Última atualização: Jun 27, 2026

Os parâmetros de contexto de nó são um mecanismo essencial no DataWorks para transmitir dados dinâmicos entre nós de tarefa. Um nó upstream (produtor) transmite seu valor de saída para um ou mais nós downstream. Os nós downstream referenciam esses valores no código para ajustar dinamicamente o comportamento com base na saída upstream. Esse recurso aumenta significativamente a flexibilidade e a automação dos fluxos de trabalho.

Como funciona

Os parâmetros de contexto de nó transmitem valores mediante a definição de um parâmetro de saída em um nó upstream (produtor) e a referência a esse parâmetro em um nó downstream (consumidor).

  • Nó upstream (produtor): Gera um valor e o fornece como parâmetro de saída. Há duas formas de fornecer um valor:

    • Transmitir uma constante ou variável: Na seção Node Output Parameters do nó upstream, defina um parâmetro e atribua-lhe um valor. O valor pode ser uma constante, como 'abc', ou uma variável de contexto do sistema, como ${status}.

    • Transmitir um resultado de atribuição: O sistema captura o último resultado de consulta do código do nó, como SELECT 'table_A';, atribui-o a um parâmetro de saída integrado chamado outputs e transmite o valor desse parâmetro para os nós downstream. O valor do parâmetro depende do resultado da execução do código. Nós de atribuição e alguns nós SQL suportam este método.

  • Nó downstream (consumidor): Recebe e utiliza o valor fornecido pelo nó upstream.

    1. Configure parâmetros de entrada: Na seção Node Input Parameters do nó downstream, adicione um parâmetro de entrada e defina sua source de valor como o parâmetro de saída do nó upstream.

    2. Estabelecer dependência de agendamento: Após configurar o parâmetro de entrada, o sistema cria automaticamente uma dependência de agendamento no mesmo ciclo do nó downstream para o nó upstream.

    3. Referenciar no código: No código do nó downstream, referencie o valor usando o formato ${InputParameterName}. Por exemplo, se o nó upstream transmitir o valor table_A, o código downstream SELECT * FROM ${input}; torna-se SELECT * FROM table_A; durante a execução.

Limites

  • Edição: Alguns nós suportam o recurso Add Assignment Parameter, utilizado para transmitir resultados de consulta. Esse recurso requer o DataWorks Standard Edition ou edição superior.

  • Tipo de nó: Os tipos de nó que suportam o recurso Add Assignment Parameter são: EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, ClickHouse SQL e nós de banco de dados.

Procedimento

Etapa 1: Configure o nó upstream para gerar parâmetros de saída

  1. Faça login no console do DataWorks. Mude para a região de destino. No painel de navegação à esquerda, clique em Data Development and O&M > DataStudio. Selecione o workspace desejado na lista suspensa e clique em Go to DataStudio.

  2. No painel Data Development, clique duas vezes no nó upstream de destino para abrir sua página de edição.

  3. No lado direito do canvas, clique em Scheduling Settings. Na seção Node Context Parameters, escolha um método para configurar os Node Output Parameters conforme necessário.

Método 1: Transmitir uma constante ou variável

  1. Na seção Output Parameters of This Node, clique em Add Parameter.

  2. Configure as informações do parâmetro.

    Parâmetro

    Descrição

    Parameter Name

    Nome personalizado para o parâmetro de saída, por exemplo, my_param.

    Parameter Value

    Valor do parâmetro. Os seguintes tipos são suportados:

Método 2: Transmitir um resultado de atribuição

  1. Usar um nó de atribuição

    Um nó de atribuição (o nó upstream) suporta MaxCompute SQL, Python 2 e Shell. Ele atribui automaticamente o resultado da última consulta ou saída ao parâmetro de saída do nó (outputs). Os nós downstream podem então referenciar esse parâmetro para recuperar o resultado da saída do nó de atribuição. Para mais informações, consulte Nó de atribuição.

  2. Usar um parâmetro de atribuição

    Em um nó que suporte parâmetros de atribuição, execute as seguintes etapas:

    1. Na seção Node Output Parameters, clique em Add Assignment Parameter.

    2. O sistema adiciona automaticamente um parâmetro de saída chamado outputs. Não é necessário configurar esse parâmetro. Seu valor corresponde ao último resultado de consulta do código do nó.

    3. Clique em Save.

      Nota

      Após clicar em Add Assignment Parameter, o parâmetro de atribuição transmite o resultado da consulta deste nó para qualquer nó downstream que o referencie. Se o resultado estiver vazio, a execução deste nó não será bloqueada, mas os nós downstream que referenciam o parâmetro podem falhar.

    Para um exemplo específico, consulte o exemplo de linguagem MaxCompute em Nó de atribuição.

Importante

É possível exclua parâmetros de saída. Antes de excluir um parâmetro de saída, certifique-se de que nenhum nó downstream o esteja utilizando. Caso contrário, a execução das tarefas downstream será afetada.

Etapa 2: Configure o nó downstream para usar o parâmetro

  1. Configure parâmetros de entrada

    1. Abra a página de edição do nó downstream. Acesse a página de configuração Scheduling Settings > Node Context Parameters. Na seção Node Input Parameters, clique em Add Parameter.

    2. Configure o parâmetro de entrada. Selecione um parâmetro de saída de um nó upstream como a Value Source para este parâmetro e defina um Parameter Name para este nó.

    3. Na barra de ferramentas, clique em Save para salve o parâmetro.

  2. Estabelecer dependências

    Ao anexar o parâmetro de saída do nó upstream, o sistema adiciona automaticamente uma dependência no mesmo ciclo nesse nó. Não é necessário configurá-la manualmente.

  3. Referenciar parâmetros

    No código do nó downstream, referencie o parâmetro usando o formato ${InputParameterName}.

    O exemplo a seguir mostra como referenciar o parâmetro de entrada param em um nó Shell:

    echo "The value from upnode is ${param}"

    Se o nó upstream transmitir um resultado de atribuição para o nó downstream, o valor do parâmetro geralmente será um array bidimensional ou um array unidimensional separado por vírgulas. Acesse os valores dentro do array da seguinte forma:

    • Se o nó upstream for um nó SQL (array bidimensional):

      • Linha: ${param}.

      • Célula: ${param[j]}.

    • Se o nó upstream for um nó Python/Shell (array unidimensional): Linha: ${param}.

    Todos os índices começam em 0.

Etapa 3: Depurar e execute

Os parâmetros de contexto são transmitidos na ordem de agendamento apenas em instâncias recorrentes acionadas por um fluxo de trabalho. A execução independente de um nó downstream falha ao recuperar parâmetros upstream e causa a falha da tarefa. Durante a depuração, inicie pelo nó upstream e execute os nós na ordem do fluxo de negócios.

  1. Retorne ao fluxo de trabalho. Na barra de ferramentas acima do fluxo de trabalho, clique em Run ou clique com o botão direito no nó downstream e selecione Run to this node.

  2. No grafo acíclico dirigido (DAG) da instância gerada, clique em um nó para visualize seu log operacional e verificar se o resultado está conforme o esperado.

Variáveis de contexto do sistema

Variável do sistema

Descrição

${projectId}

ID do projeto.

${projectName}

Nome do projeto MaxCompute.

${nodeId}

ID do nó.

${gmtdate}

A hora 00:00:00 do dia do horário agendado da instância. O formato é yyyy-MM-dd 00:00:00.

${taskId}

ID da instância da tarefa.

${seq}

Número ordinal da instância da tarefa, indicando sua sequência entre as instâncias do mesmo nó no mesmo dia.

${cyctime}

Horário agendado da instância.

${status}

Status da instância: sucesso (SUCCESS) ou falha (FAILURE).

${bizdate}

Timestamp dos dados.

${finishTime}

Hora de término da instância.

${taskType}

Tipo de execução da instância: Normal (NORMAL), Manual (MANUAL), Pausa (PAUSE), Simulação (SKIP), Não Selecionado (UNCHOOSE) ou Pular Ciclo (SKIP_CYCLE).

${nodeName}

Nome do nó.