Table 输入步骤不替换变量
Table Input Step Does not replace variables
我运行在 Pentaho Kettle 的输入步骤中输入以下代码:
SELECT * FROM ${TABELA} WHERE TS_SAMPLETM BETWEEN TO_DATE('${HOJE}', 'DD/MM/YYYY') AND TO_DATE('${SEMANAPASSADA}','DD/MM/YYYY')
但是,当我通过这个 shell 脚本 运行 作业时:
#!/bin/sh
cd /home/rafael/data-integration/
export HOJE=$(date +"%d/%m/%Y")
export SEMANAPASSADA=$(date -d "7 days ago" +"%d/%m/%Y")
export tabela=tabela1
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA
Table输入步骤不替换变量。
您的问题是 shell 脚本中的错误,而不是 Pentaho 或 Table 输入步骤中的错误。如果您尝试在最后一行的 sh
之前插入 echo
,您可以看到命令 运行:
echo sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA
对我来说输出:
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA= -param:HOJE=18/12/2015 -param:SEMANAPASSADA=
你的shell脚本中的问题是
- 区分大小写。将
$TABELA
替换为 $tablea
- 对我来说调用日期的方式是错误的,但这取决于你没有提供的OS。我需要写
export SEMANAPASSADA=$(date -v -7d +"%d/%m/%Y")
在我 运行 脚本输出这些更改后:
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=tabela1 -param:HOJE=18/12/2015 -param:SEMANAPASSADA=11/12/2015
这可能更接近你想要的。
我运行在 Pentaho Kettle 的输入步骤中输入以下代码:
SELECT * FROM ${TABELA} WHERE TS_SAMPLETM BETWEEN TO_DATE('${HOJE}', 'DD/MM/YYYY') AND TO_DATE('${SEMANAPASSADA}','DD/MM/YYYY')
但是,当我通过这个 shell 脚本 运行 作业时:
#!/bin/sh
cd /home/rafael/data-integration/
export HOJE=$(date +"%d/%m/%Y")
export SEMANAPASSADA=$(date -d "7 days ago" +"%d/%m/%Y")
export tabela=tabela1
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA
Table输入步骤不替换变量。
您的问题是 shell 脚本中的错误,而不是 Pentaho 或 Table 输入步骤中的错误。如果您尝试在最后一行的 sh
之前插入 echo
,您可以看到命令 运行:
echo sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=$TABELA -param:HOJE=$HOJE -param:SEMANAPASSADA=$SEMANAPASSADA
对我来说输出:
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA= -param:HOJE=18/12/2015 -param:SEMANAPASSADA=
你的shell脚本中的问题是
- 区分大小写。将
$TABELA
替换为$tablea
- 对我来说调用日期的方式是错误的,但这取决于你没有提供的OS。我需要写
export SEMANAPASSADA=$(date -v -7d +"%d/%m/%Y")
在我 运行 脚本输出这些更改后:
sh kitchen.sh -file=/home/rafael/data-integration/Job_Oracle_MySql.kjb -param:TABELA=tabela1 -param:HOJE=18/12/2015 -param:SEMANAPASSADA=11/12/2015
这可能更接近你想要的。