Este tópico explica as variáveis usadas na orquestração de tarefas.
Visão geral das variáveis
Variáveis são valores dinâmicos em um fluxo de tarefas, classificadas como variáveis de sistema, variáveis de tempo e variáveis sem tempo. Referencie qualquer variável dentro de um nó usando a sintaxe ${varName}.
Variáveis de sistema
Variáveis de sistema são valores predefinidos, como o ID do fluxo de tarefas atual e o horário de execução do fluxo.
Se uma variável personalizada tiver o mesmo nome de uma variável de sistema, o valor da variável personalizada substituirá o da variável de sistema, pois tem prioridade mais alta.
Variáveis de tempo
-
Variável de fluxo de tarefas (variável global): calculada pela aplicação de um deslocamento de tempo ao timestamp de dados. Por padrão, o timestamp de dados corresponde ao horário de execução menos um dia. Como variável global, está disponível para todos os nós no fluxo de tarefas atual.
NotaConfigure uma variável de fluxo de tarefas em qualquer nó do fluxo. O sistema sincroniza automaticamente a configuração com todos os outros nós.
-
Variável de nó: variável de tempo criada pela aplicação de um deslocamento à variável integrada
bizdate(T-1). O escopo dessa variável limita-se ao nó que a define.Por exemplo, se a data atual for 22 de agosto de 2023 e você aplicar um deslocamento de +1 dia, o valor da variável será 23 de agosto de 2023.
Variáveis sem tempo
Constante de fluxo de tarefas (variável global): valor fixo utilizável em todos os nós do fluxo de tarefas atual.
-
Variável de entrada: o sistema preenche automaticamente essas variáveis. Referencie uma variável de entrada nas instruções SQL do nó atual usando a sintaxe ${var_name} ou como variável condicional em um nó Conditional Branch. As variáveis de entrada incluem:
Variável upstream: variável de saída proveniente de um nó anterior.
Variável de status: para mais informações, consulte Variáveis de status.
Variável de sistema: para mais informações, consulte Variáveis de sistema.
-
Variável de saída: defina e atribua um valor a essa variável no nó atual. Nós subsequentes poderão acessá-la e referenciá-la.
Por exemplo, ao configurar uma variável de saída em um nó Script, referencie-a nas instruções SQL de um nó downstream.
Variável de saída de um nó Single Instance SQL: use este nó para definir um conjunto de resultados a partir de uma consulta SQL, formando uma matriz bidimensional. Durante a definição da variável, extraia um único elemento ou concatene todos os valores de uma linha ou coluna.
-
Variável de saída de script: se a última linha da saída do script for um objeto JSON no formato
{ key1: value1, key2: value2, … }e os valores forem do tipo String, a tarefa de script analisará automaticamente os pares chave-valor do JSON. Isso cria uma variável chamada key, cujo valor corresponde ao respectivo valor no JSON. Referencie essa variável como${key}.Por exemplo, se a última linha do script for
echo {"hello": "world"}, a tarefa criará uma variável chamada hello com o valor world.
Configurar variáveis de tempo
|
Parâmetro |
Descrição |
|
Variable name |
Insira o nome da variável personalizada. Nota
Para excluir uma variável configurada, clique em |
|
Variable rule |
Configure as regras para a variável de tempo.
Nota
Após configurar uma variável de tempo, referencie-a em instruções SQL usando a sintaxe |
Formatos de tempo
A tabela a seguir descreve os especificadores de formato de tempo compatíveis.
|
Especificador |
Descrição |
Exemplo de entrada |
Exemplo de saída |
|
Era |
|
Gyyyy |
AD 2021 |
|
Ano |
|
yyyy |
2021 |
|
Mês |
|
MM |
08 |
|
Semana |
|
ww |
13 |
|
Dia |
|
D |
360 |
|
Dia da semana |
|
e |
1 |
|
AM/PM |
|
a |
AM |
|
Hora |
|
HH |
10 |
|
Minuto |
|
m |
27 |
|
Segundo |
|
ss |
08 |
|
Fuso horário |
|
z |
UTC+08:00 |
Exemplos de formatos de tempo combinados:
|
Exemplo de entrada |
Exemplo de saída |
|
|
2021-08-12 |
|
|
20210801 |
|
|
11:05:21 |
|
|
20210812 11:05:21 |
Variáveis de sistema
|
Nome da variável |
Descrição |
Exemplo |
|
sys.flow.start.timestamp |
O timestamp do horário de execução. |
2021-05-24T11:20:07.562+08:00 |
|
sys.flow.start.year |
O ano do horário de execução. |
2021 |
|
sys.flow.start.month |
O mês do horário de execução. |
5 |
|
sys.flow.start.day |
O dia do horário de execução. |
24 |
|
sys.flow.start.hour |
A hora do horário de execução. |
11 |
|
sys.flow.start.minute |
O minuto do horário de execução. |
20 |
|
sys.flow.start.second |
O segundo do horário de execução. |
7 |
|
sys.flow.start.milliseconds |
Os milissegundos do horário de execução. |
562 |
|
sys.flow.start.timezone |
O fuso horário do horário de execução. |
Asia/Shanghai |
|
sys.flow.biztime |
O timestamp de dados. Por padrão, corresponde ao horário de execução menos um dia. |
1621740007562 |
|
sys.flow.name |
O nome do fluxo de tarefas. |
dwd_activity_daily_pv |
|
sys.node.name |
O nome do nó. |
Single Instance SQL-1 |
Variáveis de status
|
Nome da variável |
Descrição |
|
all_success |
Todas as tarefas upstream foram executadas com êxito. |
|
all_failed |
Todas as tarefas upstream falharam. |
|
one_success |
Pelo menos uma tarefa upstream foi executada com êxito. |
|
one_failed |
Pelo menos uma tarefa upstream falhou. |
Use variáveis de status em um nó Conditional Branch para controlar se o fluxo de tarefas executa tarefas subsequentes com base em um status específico de execução.
.