在我的ETL中有一个案例,我试图从命令行获取“表输出”名称。表名与任何流媒体字段的名称不对应。有没有办法在pentaho水壶中完成它?
答案 0 :(得分:1)
这应该会让你知道如何做到这一点。由于转换只是xml,您可以从中读取元数据。基本上,您可以找到表输出步骤并将其设置为变量,在本例中为“TABLE”
答案 1 :(得分:1)
Pentaho DI是一种基于元数据的工具。我假设您将尝试从命令行传递输出表名称,如下所示:
.../pan.sh -file:"/home/user/sample.ktr" -param:table_output=SOMETABLE
假设上面的命令是你正在尝试的。
首先,更改 sample.ktr (仅作为示例)的转换设置,并将参数名称:“table_output”添加到“参数”部分。
接下来,在表格输出步骤中,使用以下格式的参数名称:${table_output}
代替表格名称。这应该可以解决您的问题。
如果您将参数传递给作业。如上所述,添加参数的第一部分保持不变。
接下来,您可以在作业中单独转换(.ktr)文件,双击ktr(从作业文件中),您将找到如下图所示的PARAMETERS部分。添加参数
第三,在.ktr文件中,重复上面的步骤(第一部分)并使用SET VARIABLE或TABLE OUTPUT。 SET Variable步骤将确保您在整个作业中都有可用的参数。主要取决于您的要求。
希望有所帮助:)