Pentaho水壶加入具有不同字段的流

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

我在转换中有多个步骤,在这些步骤中,我将来自不同流(文件)的数据合并在一起。所有流都具有一个公共字段ID_Time。

现在,当我尝试在ID_Time上加入2个流时,可以说使用Multiway Merge Join,我会得到ID_Time和ID_Time_1字段。我想将它们合并为一个,因此我们摆脱了_1列。如果我们在两个流中没有相同的列,那么我希望我们不必为null。

示例:

ID     Number1 Number2  ID_Time 
 1      5,06     215     12154
 2      5121     121      151


  ID    CarModel CarManufacturer ID_Time
  1       CX3         Mazda        12
  2       V40         Volvo        39

所以,我希望这样作为最终结果:

ID Number1 Number2 CarModel CarManufacturer ID_Time
 1   5,06    215     null         null       12154
 2   5121    121     null         null        151
 3   null    null    CX3         Mazda        12
 4   null    null    V40         Volvo        39

也许我必须使用其他联接?还是使用不同的键?

merge stream pentaho transformation kettle
1个回答
0
投票

Merge joinMultiway Merge join的输出将始终包括所有流的所有字段;如果重复字段,则它们将带有_1_2等后缀。>

一种明显的情况是,连接键具有相同的名称(通常是这种情况),但是您也可能具有相同名称的其他字段。

有多种解决方法,但是最简单的方法是在连接后执行Select values步骤,并删除重复的字段(“选择值”的一个标签页称为“删除”,它将删除您需要的所有字段指定)。

您的最终ID字段可以在合并后通过Add sequence步骤添加。

当心

:始终在连接之前对输入进行排序,因为两个合并步骤均假定要对输入数据进行排序。
© www.soinside.com 2019 - 2024. All rights reserved.