O contexto do nó transfere parâmetros automaticamente entre nós upstream e downstream. Os valores podem ser constantes, variáveis ou resultados de consultas de nós upstream, permitindo o agendamento e a execução dinâmica de tarefas.
Limites
Edição: DataWorks Standard Edition e versões posteriores suportam Add assignment parameter para transferir resultados de consultas.
Tipos de nó: apenas alguns tipos de nó transferem resultados de consultas por meio de parâmetros de atribuição, incluindo nós EMR Hive, EMR Spark SQL, ODPS Script, Hologres SQL, AnalyticDB for PostgreSQL, ClickHouse SQL e MySQL.
Como funciona
Para transferir um valor, defina um parâmetro de saída em um nó upstream (provedor) e faça referência a ele em um nó downstream (consumidor).
-
Nó upstream (provedor): gera um valor e o expõe como um parâmetro de saída de uma das duas formas a seguir:
Configure um parâmetro de saída regular: na seção Current Node Output Parameters do nó upstream, defina um parâmetro e atribua uma constante (como
'abc') ou uma variável de contexto do sistema (como${status}).Configure um parâmetro de saída de atribuição: o sistema captura o resultado da consulta da última linha do código do nó (como
SELECT 'table_A';) e o atribui ao parâmetro de saída integrado outputs. O valor do parâmetro é transferido para os nós downstream e depende do resultado do código. Nós de atribuição e alguns nós SQL suportam esse método.
-
Nó downstream (consumidor): recebe e utiliza o valor do nó upstream.
Crie uma dependência de agendamento: configure a dependência no nó upstream.
Configure um parâmetro de entrada: na seção Current Node Input Parameters do nó downstream, adicione um parâmetro de entrada cuja origem seja um parâmetro de saída upstream.
Referencie no código: no código do nó downstream, referencie o valor recebido como
${input_parameter_name}. Por exemplo, se o nó upstream transferirtable_A, o código downstreamSELECT * FROM ${input};se tornaráSELECT * FROM table_A;em tempo de execução.
Abra a área de configuração de parâmetros
Acesse o DataWorks console. Na região de destino, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development.
No painel Data Studio, clique duas vezes no nó para abrir o editor.
Clique em Scheduling. Na área Input and Output Parameters, clique em
à direita para abrir as configurações de parâmetros de contexto do nó.
Configure os parâmetros de saída
Na área Input and Output Parameters, configure os parâmetros de saída do nó atual conforme o seu cenário de negócios.
Configure a regular output parameter: transfira uma constante ou variável configurada neste nó para os nós downstream.
Configure an assignment output parameter: transfira o resultado da consulta deste nó para os nós downstream como um parâmetro de saída.
Configure um parâmetro de saída regular
Para transferir os parâmetros configurados no nó upstream para os nós downstream, siga estas instruções.
Parâmetro | Configuração |
No. | O sistema atribui e incrementa o número automaticamente. |
Parameter name | Defina um nome para o parâmetro de saída. |
Type | Selecione Constant ou Variable conforme as necessidades do seu negócio. |
Value | Valor do parâmetro de saída. Pode ser uma constante ou uma variável:
|
Description | Breve descrição do parâmetro. |
Source | Origem do parâmetro atual. As opções incluem Added Automatically, Analyze Code ou Add manually em tempo de execução. |
Operation | Save, Modify ou Delete. Nota Se um nó downstream depender deste parâmetro, não será possível editá-lo ou excluí-lo. Verifique cuidadosamente a definição de saída upstream antes de adicionar uma referência downstream. |
Após configurar os parâmetros, clique em Operation na coluna Save.
Configure um parâmetro de saída de atribuição
Para transferir o resultado da consulta da tarefa atual para uma tarefa downstream, siga estas instruções.
Localize a seção do nó.
Clique em Add assignment parameter para adicionar um parâmetro de saída de atribuição em uma única etapa.
Clique em Add assignment parameter para transferir o resultado da consulta deste nó para os nós downstream que referenciam o parâmetro de atribuição. Um resultado vazio não bloqueia este nó, mas as referências downstream podem falhar.
Adicione o parâmetro de atribuição upstream aos parâmetros de entrada do nó downstream. O uso é semelhante ao de um nó de atribuição. Para mais detalhes, consulte Assignment node para concluir a configuração.
Após configurar os Output Parameters, localize e encontre o Add Mode cujo valor seja Added Automatically, e anote seu Output Name. Os nós downstream podem usar esse Output Name para vincular uma dependência a este nó.
Configure um parâmetro de entrada
Configure os parâmetros de entrada do nó atual nas configurações de contexto do nó para utilizar os parâmetros de saída dos nós upstream.
Os parâmetros de entrada de um nó recebem os parâmetros de saída de seus nós upstream. Após adicionar um parâmetro, referencie-o no código como faria com uma variável de parâmetro de agendamento.
Só é possível adicionar a saída de um nó upstream como parâmetro de entrada após este nó depender dele.
Para o nó upstream, Configure output parameters em tempo de execução.
-
Configure uma dependência upstream/downstream.
No lado direito do editor do nó downstream, clique em Scheduling em tempo de execução.
Em , anote o Node Output. Na caixa de diálogo, insira e selecione os Configure output parameters do nó upstream ao definir o Output Name em tempo de execução.
Clique na coluna Add.
-
Configure os parâmetros de entrada do nó downstream.
Em Input and Output Parameters, abaixo de Add, configure os parâmetros de entrada do nó atual utilizando a tabela a seguir:
Parâmetro
Configuração
No.
O sistema atribui e incrementa o número automaticamente.
Parameter name
Defina um nome para o parâmetro de entrada. Referencie o valor transferido do nó upstream por este nome no editor do nó.
Value Source
O valor origina-se do parâmetro de saída do nó upstream e corresponde ao seu resultado de saída real.
Description
Adicione uma breve descrição.
Parent Node ID
Analisado automaticamente a partir do nó upstream.
Source
Origem do parâmetro atual.
As opções incluem Added Automatically, Analyze Code ou Add manually em tempo de execução.
Added Automatically
Save, Modify ou Delete.
Após configurar os parâmetros, clique em Analyze Code na coluna Add manually.
Use parâmetros de entrada em nós downstream
Referencie um parâmetro de entrada definido como qualquer outra variável do sistema, usando ${input_parameter_name}. O exemplo de nó Shell a seguir demonstra isso.
#!/bin/bash ## ##author: xxx est.aliyunid.com ##create xxx 10:06:02 ## echo 'input_from_up_const:' ${input_from_up_const} echo 'input_from_up_var:' ${input_from_up_var}
Ao executar tarefas, execute o workflow que contém os nós upstream e downstream para que sejam executados em ordem. Caso contrário, os parâmetros de entrada downstream serão inválidos.
Variáveis globais suportadas
-
Variáveis 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 em tempo de execução.
${taskId}
ID da instância da tarefa.
${seq}
Número de sequência da instância entre as instâncias do mesmo nó naquele dia.
${cyctime}
Horário agendado da instância.
${status}
Status da instância: SUCCESS ou FAILURE.
${bizdate}
Data de negócio.
${finishTime}
Horário de conclusão da instância.
${taskType}
Tipo de execução da instância: NORMAL, MANUAL, PAUSE, SKIP, UNCHOOSE ou SKIP_CYCLE.
${nodeName}
Nome do nó.
Para outras configurações de parâmetros, consulte Scheduling parameter formats em tempo de execução.