pentaho PDI 在命令行中传递用户变量
pentaho PDI passing uservariable in command line
我正在尝试通过在命令行中传递用户变量来 运行 Transformation/Job。
我试过如下传递变量值。
sh pan.sh -file='test.ktr' '-param:input_directory=/path/to/directory' -level=basic
其中 input_directory 在转换中是可变的,我将其称为 ${input_directory}
但是当我这样做时,平底锅无法找到变量值。抛出错误如下
无法列出 "file:///home/user1/pdi8.1/data-integration8.1/${input_directory}" 的内容,因为它不是文件夹。
有人可以帮我解决这个问题吗?谢谢
要将命名参数传递给您的作业或转换,需要在属性 window 中定义参数,此处显示为转换。不需要默认值,但可以很好地用于测试。注意大小写。
所以拼图的碎片是:
- 从命令行传递参数,如 -param:yourparam=yourvalue
- 在最高级别的作业或转换中定义相同的参数
- 像使用任何变量一样使用它,${yourparam}
我认为作业中使用的参数名称应该是 ${PARAM_NAME1}
使用命令行我遵循以下约定
call "{Replace with kitchen.bat File Path}" /file:"{Replace with JOB File Path}" "-param:PARAM_NAME1=PARAM_VALUE1" "-param:PARAM_NAME2=PARAM_VALUE2"
我正在尝试通过在命令行中传递用户变量来 运行 Transformation/Job。 我试过如下传递变量值。
sh pan.sh -file='test.ktr' '-param:input_directory=/path/to/directory' -level=basic 其中 input_directory 在转换中是可变的,我将其称为 ${input_directory}
但是当我这样做时,平底锅无法找到变量值。抛出错误如下
无法列出 "file:///home/user1/pdi8.1/data-integration8.1/${input_directory}" 的内容,因为它不是文件夹。
有人可以帮我解决这个问题吗?谢谢
要将命名参数传递给您的作业或转换,需要在属性 window 中定义参数,此处显示为转换。不需要默认值,但可以很好地用于测试。注意大小写。
所以拼图的碎片是:
- 从命令行传递参数,如 -param:yourparam=yourvalue
- 在最高级别的作业或转换中定义相同的参数
- 像使用任何变量一样使用它,${yourparam}
我认为作业中使用的参数名称应该是 ${PARAM_NAME1} 使用命令行我遵循以下约定 call "{Replace with kitchen.bat File Path}" /file:"{Replace with JOB File Path}" "-param:PARAM_NAME1=PARAM_VALUE1" "-param:PARAM_NAME2=PARAM_VALUE2"