gpt4 book ai didi

pentaho - 通过脚本将环境变量传递给 Pentaho Kettle 转换

转载 作者:行者123 更新时间:2023-12-04 01:52:47 27 4
gpt4 key购买 nike

我需要参数化我的水壶作业和转换中的所有变量(作业将在 AWS 中运行,所有参数都作为环境变量传入)。

我在作业中的连接、路径和各种其他参数及其伴随的转换使用 ${SOURCE_DB_PASSWORD}、${OUTPUT_DIRECTORY} 样式。

当我在数据集成 UI 中将这些设置为环境变量时,它们都可以工作并且 作业在 UI 工具中成功运行 .当我从 bash 脚本运行它们时:

#!/bin/sh
export SOURCE_DB_HOST=services.db.dev
export SOURCE_DB_PORT=3306

kitchen.sh -param:SOURCE_DB_PORT=$SOURCE_DB_PORT -param:SOURCE_DB_HOST=$SOURCE_DB_HOST -file MY_JOB.kjb

工作和它调用的转换做 不是 拾取变量。错误是:
Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${SOURCE_DB_PORT}"'

因此,如果不使用 jndi 文件或kettle.properties,我需要某种方式 将环境变量映射到 PDI 作业和转换中的参数/变量 .

[Mac OS X 10.13 上的 PDI 8.1 版]

最佳答案

使用 -param:SOURCE_DB_HOST=value命令行上的语法和 ${SOURCE_DB_HOST}作业和转换中的语法是正确的方法。

您需要在转换中做的事情(但不是针对它出现的工作)是 显式添加到参数 到转换属性(转换工作区中的 control-T 或在 mac command-T 上)。附上截图。

然后直接从 shell 脚本运行作业或转换将起作用。

enter image description here

关于pentaho - 通过脚本将环境变量传递给 Pentaho Kettle 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52145028/

27 4 0
文章推荐: git - 每次提交时让 git 询问我的电子邮件
文章推荐: reactjs - react - 警告 : Use the `defaultValue` or `value` props on