在我的转换中,我想拥有一个动态数据库连接属性,如主机名/端口/用户名和密码,并且我的bash配置文件已经包含这些信息。我如何通过转换来访问这些bash配置文件变量?在Pentaho Kettle中访问bash变量
谢谢,
Thusira。
在我的转换中,我想拥有一个动态数据库连接属性,如主机名/端口/用户名和密码,并且我的bash配置文件已经包含这些信息。我如何通过转换来访问这些bash配置文件变量?在Pentaho Kettle中访问bash变量
谢谢,
Thusira。
声明pentaho变量的最好方法是将它们添加到$HOME/.kettle/kettle.properties
文件中。
这些变量可以在作业/转换中使用${..}
就像bash变量一样访问。
实施例,
在kettle.properties
,
DB_HOST=xx.xx.xx.xx
在变换,
${DB_HOST}
谢谢,我试过了。但是,如果我使用这种方法,我可能必须为每个环境使用不同的属性文件。因为我有一个运行在这些bash变量上的应用程序。我正在考虑重新使用相同的方式进行转换。所以当变量值发生变化时,我不必更改2个地方。你有什么想法。? –
如果更新变量2文件是你的问题,你可以很好地使'kettle.properties'来读取环境中的变量。 – franklinsijo
绝对是。谢谢。 –
用户定义的Java-表达步骤可检索所有的环境变量:
字符串值= java.lang.String.join("|", System.getenv().values())
字符串名称= java.lang.String.join("|", System.getenv().keySet())
现在拆分场对行使用编号启用将准备在ROWNUMBER最终产生与字段(名称,值)流的融合连接。
不要害羞。
向我们展示您的'.bash_profile',以及您希望如何以最少的输入示例和输出来检索信息? – Inian
@Inian,我的.bash_profile包括以下项目, DB_PORT = 27017 DB_HOST =本地主机 DB_NAME =测试 DB_PASSWORD = welcome1! DB_USERNAME = testUser –
以上评论是不必要的和不尊重的。你的问题没有适当的研究努力,只是要求普通的_code_,而且它只是_NOT_遵守[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)并没有一个可验证的输入,即假设我们有一个解决方案,我们如何测试它?在提问之前,请仔细阅读[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。祝你好运! – Inian