A configuração de parâmetros de agendamento segue o mesmo padrão para a maioria dos tipos de nó, como um nó MaxCompute SQL. No entanto, o processo difere para nós shell comuns e PyODPS. Este tópico apresenta exemplos de configuração para vários tipos de nó.
Nós SQL e nós de sincronização em lote
A configuração para nós SQL e nós de sincronização em lote representa a maioria dos tipos de nó. Este exemplo utiliza um nó MaxCompute SQL para demonstrar como atribuir valores a variáveis de sistema integradas e parâmetros personalizados, referenciando-os posteriormente no código.
Nem todos os nós suportam parâmetros de agendamento. Para verificar se um nó específico oferece esse suporte, consulte a documentação de desenvolvimento de nós.
-
Definir parâmetros
Parâmetro
Valor
var1
$bizdate
var2
${yyyymmdd}
var3
$cyctime
var4
${yyyymmddhh24:mi:ss}
var5
abc
-
Utilizar parâmetros
-- Get the data timestamp SELECT '${var1}' '${var2}'; -- Get the scheduling time SELECT '${var3}' '${var4}'; -- Get a constant SELECT '${var5}';
Após atribuir valores na seção Scheduling Parameters, referencie-os no seu código. O exemplo mostra referências às variáveis de sistema integradas var1 e var3, aos parâmetros personalizados var2 e var4, e à constante var5 com as seguintes atribuições:
Atribua um timestamp de dados ao parâmetro var1: var1=$bizdate
Defina um horário de agendamento para o parâmetro var3: var3=$cyctime
Especifique um timestamp de dados no parâmetro var2: var2=${yyyymmdd}
Configure um horário de agendamento para o parâmetro var4: var4=$[yyyymmddhh24:mi:ss]
Use a constante
abccomo valor do parâmetro var5: var5=abc
Para mais informações, consulte Configurar parâmetros de agendamento de nó e Fontes e expressões de parâmetros de agendamento.
Nó PyODPS
Para evitar modificações diretas no código, os nós PyODPS não aceitam substituição de strings no formato ${param_name}. Em vez disso, recupere os parâmetros de agendamento do objeto dicionário global args.
-
Definir parâmetros
Parâmetro
Valor
var1
$bizdate
var2
${yyyymmdd}
var3
$[yyyymmdd]
-
Utilizar parâmetros
# Custom parameter: var1 retrieves a built-in parameter value. a =args['var1'] print (format(a)) # Custom parameter: var2 retrieves a value using ${...} format. b =args['var2'] print (format(b)) # Custom parameter: var3 retrieves a value using $[...] format. c =args['var3'] print (format(c))
Conforme ilustrado no exemplo anterior, atribua valores na seção Scheduling Parameters. No código, referencie os parâmetros por meio do objeto dicionário, como args['var1'], args['var2'] e args['var3']. Os exemplos a seguir mostram as atribuições:
Associe um timestamp de dados ao parâmetro var1: var1=$bizdate
Defina um timestamp de dados para o parâmetro var2: var2=${yyyymmdd}
Especifique um timestamp de dados no parâmetro var3: var3=$[yyyymmdd]
Para mais informações, consulte Configurar parâmetros de agendamento de nó e Fontes e expressões de parâmetros de agendamento.
Nó Python
Os nós Python recebem parâmetros de agendamento como argumentos de linha de comando. Liste os valores dos parâmetros em ordem na seção Scheduling Parameters para que o sistema os passe ao script durante a execução. No código, acesse esses valores usando índices como sys.argv[1] e sys.argv[2].
Diferentemente dos nós PyODPS, os nós Python não permitem referenciar parâmetros diretamente pelo nome, como $var1. A leitura dos parâmetros ocorre posicionalmente por meio de sys.argv.
-
Definir parâmetros
Em nós Python, atribua valores como uma lista separada por espaços. Os valores podem ser expressões ou constantes e mapeiam para os argumentos do script por posição.
$[yyyymmdd] abc -
Utilizar parâmetros
import sys # Print all received parameters print("Current received parameters:", sys.argv) # Get the first and second parameters param1 = sys.argv[1] param2 = sys.argv[2] print("Parameter 1:", param1) print("Parameter 2:", param2)
Como demonstrado no exemplo acima, atribua valores aos parâmetros na seção Scheduling Parameters, separados por espaços. Em seguida, acesse os valores no código utilizando índices como sys.argv[1] e sys.argv[2]. As atribuições nos exemplos são:
Defina um horário de agendamento para o primeiro parâmetro: $[yyyymmdd].
Use a constante
abccomo segundo parâmetro: abc.
Para mais informações, consulte Configurar parâmetros de agendamento de nó e Fontes e expressões de parâmetros de agendamento.
Nó shell comum
Nós shell comuns utilizam parâmetros posicionais (como $1, $2 e $3) em vez de variáveis nomeadas. Para parâmetros além do nono, utilize a sintaxe ${10}.
-
Definir parâmetros
Para nós shell comuns, atribua valores como uma lista separada por espaços. A ordem dos valores deve corresponder à ordem dos parâmetros posicionais no seu script.
$bizdate ${yyyymmdd} $[yyyymmdd] -
Utilizar parâmetros
# Positional parameter: Get a built-in parameter value. echo $1 # Positional parameter: Get a value using ${...} format. echo $2 # Positional parameter: Get a value using $[...] format. echo $3
Após atribuir valores na seção Scheduling Parameters, referencie-os no código como parâmetros posicionais $1, $2 e $3. As atribuições no exemplo são:
Associe um timestamp de dados ao parâmetro posicional $1: $bizdate
Defina um timestamp de dados para o parâmetro posicional $2: ${yyyymmdd}
Especifique um horário de agendamento no parâmetro posicional $3: $[yyyymmdd]
Para mais informações, consulte Configurar parâmetros de agendamento de nó e Fontes e expressões de parâmetros de agendamento.