O E-MapReduce (EMR) Workflow oferece parâmetros de tempo integrados, parâmetros de tarefa (parâmetros locais), parâmetros de workflow (parâmetros globais) e parâmetros de projeto. O EMR Workflow também suporta o recurso de passagem de parâmetros.
Configure parâmetros
Parâmetros de tempo integrados
Definir parâmetros
Não é necessário definir parâmetros de tempo integrados. Você pode usá-los diretamente nas tarefas.
Usar parâmetros
O EMR Workflow suporta parâmetros de tempo integrados no formato $[...]. Um parâmetro de tempo integrado no formato $[yyyyMMddHHmmss] pode ser dividido e recombinado em vários formatos, como $[yyyyMMdd], $[HHmmss] e $[yyyy-MM-dd]. Use um dos métodos a seguir para modifique um parâmetro de tempo integrado:
-
Utilize a função
add_months(). Essa função serve para adicionar ou subtrair meses. Nos exemplos abaixo, o primeiro parâmetro[yyyyMMdd]entre parênteses indica o formato do tempo retornado. O segundo parâmetro entre parênteses indica o número de meses a serem adicionados ou subtraídos.Adicionar N anos:
$[add_months(yyyyMMdd,12*N)]Subtrair N anos:
$[add_months(yyyyMMdd,-12*N)]Adicionar N meses:
$[add_months(yyyyMMdd,N)]Subtrair N meses:
$[add_months(yyyyMMdd,-N)]
-
Some +Número ou -Número a um parâmetro de tempo personalizado.
Adicionar N semanas:
$[yyyyMMdd+7*N]Subtrair N semanas:
$[yyyyMMdd-7*N]Adicionar N dias:
$[yyyyMMdd+N]Subtrair N dias:
$[yyyyMMdd-N]Adicionar N horas:
$[HHmmss+N/24]Subtrair N horas:
$[HHmmss-N/24]Adicionar N minutos:
$[HHmmss+N/24/60]Subtrair N minutos:
$[HHmmss-N/24/60]
Parâmetros de tarefa
Os parâmetros de tarefa, também conhecidos como parâmetros locais, são válidos para nós. Por padrão, os parâmetros personalizados definidos durante a criação de um nó se aplicam apenas ao nó atual. Se você especifique que os parâmetros podem ser passados para os nós descendentes do nó atual, eles também serão aplicados a esses descendentes.
Definir parâmetros
Na caixa de diálogo Current node settings, clique em no ícone
abaixo de Custom Parameters para adicionar um ou mais parâmetros personalizados. A figura a seguir mostra como definir um parâmetro personalizado.
Parâmetro personalizado definido neste exemplo:
dt: nome do parâmetro personalizado.IN: especifica que o parâmetro se aplica apenas ao nó atual. O valor OUT indica que o parâmetro pode ser passado para os nós descendentes do nó atual.VARCHAR: tipo de dados do parâmetro.$[yyyy-MM-dd]: valor do parâmetro.
Usar parâmetros
Ao crie um nó, especifique os parâmetros locais no formato ${...}.
Parâmetros de workflow
Os parâmetros de workflow, também chamados de parâmetros globais, são válidos para todos os nós de um workflow e são configurados quando você salve o workflow.
Definir parâmetros
Ao salve um workflow, adicione um ou mais parâmetros globais e especifique seus nomes e valores.

Usar parâmetros
Ao salve um workflow, especifique os parâmetros globais no formato ${...}.
Parâmetros de projeto
Os parâmetros de projeto são válidos para todos os workflows dentro de um projeto.
Definir parâmetros
Para definir um parâmetro de projeto, siga estas etapas: Na página de detalhes de um projeto, escolha no painel de navegação à esquerda. Na página Project Parameter, clique em Create Parameter. Na caixa de diálogo Create Parameter, configure os parâmetros Parameter Name e Parameter Value.

Usar parâmetros
Ao crie um nó, especifique os parâmetros de projeto no formato ${...}.
Passagem de parâmetros
O EMR Workflow permite passar parâmetros entre nós. É possível transferir os parâmetros de um nó para seus nós descendentes.
Ao definir um parâmetro personalizado para um nó, selecione OUT para indicar que ele pode ser passado aos nós descendentes do nó atual. Além disso, insira uma instrução echo no script do nó atual. A instrução echo deve seguir o formato echo "#{setValue(key=value)}". Nessa instrução, key representa o nome do parâmetro personalizado do tipo OUT. Já value corresponde ao valor que você deseja passar para os nós descendentes, podendo ser uma constante, o valor de outro parâmetro de tarefa ou o valor de uma variável no script bash. Para utilizar os parâmetros transmitidos de um nó para seus descendentes, basta especifique-os no formato ${...} nos nós descendentes.
Exemplos:
Passar uma constante
Ao crie um nó, defina um parâmetro personalizado chamado res do tipo OUT e insira echo "#{setValue(res=1234)}" no script. Dessa forma, o parâmetro res com valor 1234 será passado para os nós descendentes do nó atual.

Passar um parâmetro de tarefa
Ao crie um nó, defina um parâmetro personalizado chamado param do tipo IN e defina seu valor como 123. Em seguida, crie outro parâmetro personalizado chamado res do tipo OUT e insira echo "#{setValue(res=${param})}" no script. Assim, o parâmetro res transmitirá o parâmetro param, cujo valor é 123, para os nós descendentes do nó atual.

Passar uma variável no script bash
Ao crie um nó, defina um parâmetro personalizado chamado res do tipo OUT e insira echo "#{setValue(res=${RESULT})}" no script. Com isso, o parâmetro res passará a variável RESULT, com valor 123, para os nós descendentes do nó atual.

Prioridade de parâmetros
Ao utilizar o EMR Workflow, os seguintes tipos de parâmetros estão envolvidos:
Se múltiplos parâmetros de tipos diferentes possuírem o mesmo nome, os valores especificados serão aplicados conforme a seguinte prioridade: Parâmetros de tarefa (parâmetros locais) > Parâmetros passados para os nós descendentes de um nó > Parâmetros de workflow (parâmetros globais) > Parâmetros de projeto.