我们从Java应用程序运行Kettle。它有自己的方式从远程区域加载配置。此外,我们的Java应用程序设置并运行Kettle Core。
我想知道系统属性是否可以直接传递到Kettle引擎中,或者它们是否以某种方式随时可用。是否有转换为简单地读取传入的系统属性?
我还没有找到关于这方面的转换或任何文档,也没有任何人试图这样做。
发布于 2017-08-14 16:11:52
启动水壶pdi,创建新的转换,添加“获取变量”步骤。按下底部的"Get variables“按钮,您将看到所有不同的变量,包括一个当前的系统属性。

发布于 2017-08-22 22:45:50
@simar提到的Get variable在命名参数中读取了一个名为kettle.property的文件,该文件位于执行服务器的主目录中。这允许您在dev和prod中使用不同的参数运行PDI,而无需在java级别调整应用程序。
另一种方法是Get System Info步骤,它为您提供了一组令人印象深刻的系统参数。
发布于 2017-09-09 08:16:07
其他人提到的Get variables步骤就是我们要做的。但是请注意,尽管这将适用于Java运行时变量,但它不适用于您在控制面板中设置的系统环境变量(在Windows上)或使用导出(在Linux上)。要将变量传递给PDI,您可以在kettle.properties中设置它们,或者使用call To Java或help菜单中的set Environment variables菜单中的"-Dname=value“传递它们。有关详细信息,请参阅https://help.pentaho.com/Documentation/5.1/0L0/0Y0/090/020/000/000。
https://stackoverflow.com/questions/45642128
复制相似问题