Ser*_*kov 5 pentaho kettle pentaho-spoon pentaho-data-integration
我需要参数化我的水壶作业和转换中的所有变量(作业将在 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
Run Code Online (Sandbox Code Playgroud)
作业及其调用的转换不会获取变量。错误是:
Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "${SOURCE_DB_PORT}"'
Run Code Online (Sandbox Code Playgroud)
因此,在不使用 jndi 文件或 Kettle.properties 的情况下,我需要某种方法将环境变量映射到 PDI 作业和转换中的参数/变量。
[Mac OS X 10.13 上的 PDI 版本 8.1]