从pentaho水壶命令行的表输出名称

时间:2015-05-08 12:47:07

标签: pentaho kettle

在我的ETL中有一个案例,我试图从命令行获取“表输出”名称。表名与任何流媒体字段的名称不对应。有没有办法在pentaho水壶中完成它?

2 个答案:

答案 0 :(得分:1)

这应该会让你知道如何做到这一点。由于转换只是xml,您可以从中读取元数据。基本上,您可以找到表输出步骤并将其设置为变量,在本例中为“TABLE”

Transformation Read the transformation file enter image description here enter image description here Only keep the step we are interested in Set the table name to a varaible

答案 1 :(得分:1)

Pentaho DI是一种基于元数据的工具。我假设您将尝试从命令行传递输出表名称,如下所示:

.../pan.sh -file:"/home/user/sample.ktr" -param:table_output=SOMETABLE

假设上面的命令是你正在尝试的。

首先,更改 sample.ktr (仅作为示例)的转换设置,并将参数名称:“table_output”添加到“参数”部分。

接下来,在表格输出步骤中,使用以下格式的参数名称:${table_output}代替表格名称。这应该可以解决您的问题。

如果您将参数传递给作业。如上所述,添加参数的第一部分保持不变。

接下来,您可以在作业中单独转换(.ktr)文件,双击ktr(从作业文件中),您将找到如下图所示的PARAMETERS部分。添加参数

enter image description here

第三,在.ktr文件中,重复上面的步骤(第一部分)并使用SET VARIABLE或TABLE OUTPUT。 SET Variable步骤将确保您在整个作业中都有可用的参数。主要取决于您的要求。

希望有所帮助:)