使用循环将数据传递到元数据注入步骤

问题描述 投票:0回答:1

我想使用元数据注入来传递数据。目标步骤有 2 个表输入步骤和一个维度查找更新步骤。

这需要以循环超过 100 个表的方式进行。

目前,我正在尝试使用数据网格步骤。其中一列包含目标 KTR 中第一个表输入的 MYSQL 代码。第二列包含第二个 KTR 的 MYSQL 代码。第三列具有目标表名称(用于维度查找/更新步骤)。最后一列包含要映射的所有字段。因此,如果前 3 列只有 1 行,则第 4 列将包含更多行,这样我就可以将字段传递到维度查找/更新步骤。请注意,我传递的字段始终具有相同的名称。

我的问题是如何循环遍历所有 100 个左右的表?这种方法是否合适?如果不合适,有人对如何继续进行有任何建议吗?

谢谢!

pentaho pentaho-spoon pentaho-data-integration
1个回答
0
投票

我的问题是如何循环遍历所有 100 个左右的表?

元数据注入步骤是迭代 100 多个表的推荐方法。或者,您也可以使用“将行复制到结果”方法进行迭代。使用复制行生成结果的详细信息可以在这篇博文中找到。

这种方法合适吗?如果不合适,有没有人对如何进行此操作有任何建议?

根据您的问题和方法,Pentaho 希望在循环维度查找步骤之前映射字段。因此,不幸的是,如果您尝试动态传递字段,这是行不通的。仅当所有这些表中的字段一致并在步骤中正确映射时,循环表的方法才能正常工作。

或者,您可以使用执行 SQL 步骤。但是在这种情况下,您也可以动态发送字段和表名称。唯一的缺点是您需要在 SQL 语句中构建维度查找/SCD-II 逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.