O recurso de contexto de nó transmite parâmetros automaticamente entre nós upstream e downstream. Os tipos de parâmetro compatíveis incluem constantes, variáveis e resultados de consultas de nós upstream, o que permite o agendamento e a execução dinâmica de tarefas.
Limites
Edição do produto: O recurso Add assignment parameter (usado para transmitir resultados de consulta) está disponível apenas no DataWorks Standard Edition e em edições superiores.
Restrições de tipo de nó: Apenas tipos específicos de nós aceitam a transmissão de resultados de consulta por meio de um parâmetro de atribuição. Os tipos compatíveis incluem EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, ClickHouse SQL e nós MySQL.
Como funciona
Os parâmetros de contexto de nó transmitem valores mediante a definição de um parâmetro de saída no nó upstream (provedor) e sua referência no nó downstream (consumidor).
-
Nó upstream (provedor): Gera um valor e o transmite como parâmetro de saída. Forneça o valor de uma das duas maneiras a seguir:
Configurar parâmetros de saída padrão: Na seção Output Parameters do nó upstream, defina um parâmetro e atribua um valor a ele. O valor pode ser uma constante, como
'abc', ou uma variável de contexto do sistema, como${status}.Configurar parâmetros de saída de atribuição: O sistema captura o resultado da última consulta no código do nó (por exemplo,
SELECT 'table_A';) e o atribui a um parâmetro de saída integrado chamado outputs. Em seguida, o valor desse parâmetro é transmitido aos nós downstream. O valor do parâmetro depende do resultado da execução do código. Este método é compatível com nós de atribuição e alguns nós baseados em SQL.
-
Nó downstream (consumidor): Recebe e utiliza o valor fornecido pelo nó upstream.
Estabelecer dependência de agendamento: Configure uma dependência de agendamento no nó upstream.
Configurar parâmetro de entrada: Na seção Input Parameters do nó downstream, adicione um parâmetro de entrada e defina sua origem de valor como um parâmetro de saída do nó upstream.
Referenciar o valor no código: No código do nó downstream, referencie o valor recebido no formato
${input_parameter_name}. Por exemplo, se o nó upstream transmitir o valortable_A, o códigoSELECT * FROM ${input};será resolvido comoSELECT * FROM table_A;durante a execução.
Acessar a área de configuração de parâmetros
Faça login no console do DataWorks, mude para a região desejada e, no painel de navegação à esquerda, escolha . Selecione o workspace de destino na lista suspensa e clique em Go to Data Development.
No painel Data Studio, clique duas vezes no nó de destino para abrir sua página de edição.
Clique em Properties no lado direito e, em seguida, clique em
à direita da seção Node Context para acessar a área de configuração de parâmetros de contexto de nó.
Configurar parâmetros de saída
Ao configurar parâmetros de saída para o nó atual na área de contexto de nó, defina-os conforme suas necessidades de negócios.
Configurar parâmetros de saída padrão: Transmite constantes ou variáveis configuradas como parâmetros de saída do nó atual para os nós downstream.
Configurar parâmetros de saída de atribuição: Configura o resultado da consulta do nó atual como um parâmetro de saída a ser transmitido aos nós downstream.
Configurar parâmetros de saída padrão
Para transmitir as informações de parâmetro configuradas em um nó upstream para um nó downstream, consulte o conteúdo a seguir.
|
Parâmetro |
Descrição |
|
Nº |
O sistema controla o número e o incrementa automaticamente. |
|
Nome do parâmetro |
Especifique um nome personalizado para o parâmetro de saída. |
|
Tipo |
Aceita constantes e variáveis. Selecione um tipo com base nas suas necessidades de negócios. |
|
Valor |
Valor do parâmetro de saída. Os tipos de valor compatíveis incluem constantes e variáveis:
|
|
Descrição |
Breve descrição do parâmetro. |
|
Origem |
Origem do parâmetro atual. As opções incluem System Added, Parsed From Code e Manually Added. |
|
Ações |
Permite as ações salve, edite e exclua. Nota
Não é possível editar ou excluir quando nós downstream dependem do parâmetro. Antes de um nó downstream referenciar um nó upstream, verifique cuidadosamente se a saída upstream está definida corretamente. |
Após configurar os parâmetros, clique em salve na coluna Actions.
Configurar parâmetros de saída de atribuição
Para transmitir o resultado da consulta da tarefa atual como parâmetro para tarefas downstream, consulte o conteúdo a seguir.
Localize a seção do nó.
Clique em Add assignment parameter para adicionar um parâmetro de saída de atribuição com um único clique.
Ao clicar em Add assignment parameter, o parâmetro de atribuição transmite o resultado da consulta do nó atual para os nós downstream que o referenciam. Se o resultado estiver vazio, o nó atual não será bloqueado, mas os nós downstream que referenciam o parâmetro podem falhar.
O nó downstream deve adicionar o parâmetro de atribuição do nó upstream como parâmetro de entrada. Seu uso é semelhante ao de um nó de atribuição. Para obter mais informações, consulte Nó de atribuição.
Depois de configurar os parâmetros de saída do nó atual, visualize o nome de saída adicionado pelo sistema em na página de configuração. Os nós downstream podem usar esse nome de saída para vincular a dependência ao nó atual.
Configurar parâmetros de entrada
Configure parâmetros de entrada para o nó atual na área de contexto de nó. Isso permite obter parâmetros de saída de nós upstream para uso no nó atual.
Os parâmetros de entrada de um nó servem para obter os parâmetros de saída de seus nós upstream. Após adicionar um parâmetro de entrada, utilize-o no código do nó atual da mesma forma que você usa uma variável de parâmetro de agendamento no código.
Somente após definir o nó atual como dependente de um nó upstream será possível adicionar a saída desse nó upstream como parâmetro de entrada do nó atual na área Input Parameters.
Um parâmetro de saída foi configurado no nó upstream. Consulte Configurar parâmetros de saída.
-
Configure a dependência upstream-downstream.
Na página de edição do nó downstream, clique em Properties no lado direito.
Na caixa de diálogo após Node Output em , insira e selecione o nome de saída especificado ao configurar o nó upstream em Configurar parâmetros de saída.
Clique em Add.
-
Configure os parâmetros de entrada no nó downstream.
Na área Node Context, clique em Add Input Parameter. Configure os parâmetros com base na tabela a seguir:
Parâmetro
Descrição
Nº
O sistema controla o número e o incrementa automaticamente.
Nome do parâmetro
Especifique um nome personalizado para o parâmetro de entrada. Posteriormente, referencie as informações do parâmetro transmitidas do upstream usando este nome na página de edição do nó.
Origem do valor
O valor do parâmetro vem de um parâmetro de saída do nó upstream. O valor real corresponde ao resultado de saída efetivo do nó upstream.
Descrição
Insira uma breve descrição personalizada do parâmetro.
ID do nó pai
Analisado automaticamente a partir do nó upstream.
Origem
Origem do parâmetro atual.
As opções incluem System Added, Parsed From Code e Manually Added.
Ações
Permite as ações salve, edite e exclua.
Após configurar os parâmetros, clique em salve na coluna Actions.
Usar parâmetros de entrada em nós downstream
Para utilizar os parâmetros de entrada definidos em um nó, aplique o mesmo método usado para outras variáveis do sistema. Referencie-os no formato ${input_parameter_name}. A seção a seguir usa um nó Shell como exemplo para descrever como referenciar os parâmetros.

Ao executar a tarefa, execute o workflow que contém os nós upstream e downstream para garantir que eles rodem em sequência. Caso contrário, os parâmetros de entrada usados pelo nó downstream serão inválidos.
Variáveis globais compatíveis com o sistema
-
Variável do sistema
Variável do sistema
Descrição
${projectId}
ID do projeto.
${projectName}
Nome do projeto MaxCompute.
${nodeId}
ID do nó.
${gmtdate}
00:00:00 do dia do horário agendado da instância, no formato yyyy-MM-dd 00:00:00.
${taskId}
ID da instância da tarefa.
${seq}
Número de sequência da instância da tarefa, indicando sua ordem entre as instâncias do mesmo nó no dia atual.
${cyctime}
Horário agendado da instância.
${status}
Status da instância: SUCCESS ou FAILURE.
${bizdate}
Data de negócios.
${finishTime}
Hora de término da instância.
${taskType}
Tipo de execução da instância: NORMAL, MANUAL, PAUSE, SKIP (execução simulada), UNCHOOSE ou SKIP_CYCLE (execução simulada semanal ou mensal).
${nodeName}
Nome do nó.
Para obter informações sobre outras configurações de parâmetros, consulte Formatos de parâmetro de agendamento.