gpt4 book ai didi

pentaho - 在 Pentaho 数据集成 Kettle 中重用不同数据的转换

转载 作者:行者123 更新时间:2023-12-03 22:13:50 26 4
gpt4 key购买 nike

我正在使用 Pentaho Kettle (PDI),我正在尝试管理一个流程,其中有一些转换应该像那些函数一样工作。我会更具体。我创建了一些转换,对某些 csv 文件的几个字段进行了一些修改。每个转换仅作用于 csv 文件的一个字段。所以第一个转换应该修改值,例如,只从文件的第一列,第二个转换应该在另一列上工作,等等。由于花了时间创建每一个转换,我希望那些可重复用于其他工作/转换使用相同类型的值。如果你想要一个例子,我已经创建了一个可以提高电话号码(以及许多其他号码)质量的转换。这是主要工作的“一般”想法: enter image description here

我的问题是关于通过转换传递数据。为此,我每次都使用“从结果复制行”步骤将数据放入结果表中。完成所有修改后,我使用“将行放入结果”步骤将数据放入结果表中。这里只是一个示例(当然真正的转换比这个更复杂)。

enter image description here

您可能知道,我们必须在“从结果中复制行”中指定即将到来的字段,因此如果我必须在另一个使用不同文件的作业/转换中使用此转换,我必须更改“从结果中复制行”步骤。

可能有一种不同的方式来移动数据流,这可能比这更容易。我也考虑过参数的使用,但我不知道是否可以使用来自结果表的字段来传递它们。还有另一个问题:“结果表是从转换中返回值的唯一方法吗?”

我还考虑过在转换内部并行执行所有转换,只向它们传递感兴趣的值和键,然后使用“合并连接步骤”融合所有单个字段。这也是一个同步问题。那么有人知道解决这个问题的好方法吗? ...我认为它存在一个标准方法来完成所有这些...

最佳答案

我的问题的解决方案是基于“映射(子转换)”步骤的使用。在工作中,我们可以调用另一个转换中的所有转换,并使用“映射(子转换)”步骤调用它们。这是一个示例:

enter image description here

在这种类型的每个步骤中,我们必须指定要修改的输入字段。我们可以通过这些。下面是此类步骤的“输入”选项卡示例:

enter image description here

如您所见,我们必须指定在主转换中调用的字段,我们可以更改它以适应子转换(在本例中,字段“phone”变为“PHONE”)。我们还必须在“输出”选项卡中指定输出字段,就像我们对输入所做的一样。

子转换如下所示:

enter image description here

要获取传入字段,您必须使用“映射输入规范”步骤,而要将修改后的字段放入输出中,您必须使用“映射输出规范”。在“映射输入规范”中,您必须指定哪些是传入字段,从现在开始您要使用此转换的所有时间都是相同的。对这些字段的适配应该在外部,在主转换中完成,因此您可以重用子转换而无需更改任何内容。

关于pentaho - 在 Pentaho 数据集成 Kettle 中重用不同数据的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com