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