Merge Pentaho水壶连接不同领域的溪流

Merge Pentaho水壶连接不同领域的溪流,merge,stream,pentaho,transformation,kettle,Merge,Stream,Pentaho,Transformation,Kettle,在转换过程中,我有多个步骤,将来自不同流文件的数据连接起来。所有流都有一个公共字段,即ID\u Time 现在,当我尝试在ID_时间连接两个流时,比如说使用多路合并连接,我会得到ID_时间和ID_时间1字段。我想把它们合并成一个,所以我们去掉了_1列。如果两个流中没有相同的列,我希望不必为null的列 例如: ID Number1 Number2 ID_Time 1 5,06 215 12154 2 5121 121 151

在转换过程中,我有多个步骤,将来自不同流文件的数据连接起来。所有流都有一个公共字段,即ID\u Time

现在,当我尝试在ID_时间连接两个流时,比如说使用多路合并连接,我会得到ID_时间和ID_时间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
也许我必须使用不同的连接?或者在不同的键上?

合并联接和多路合并联接的输出将始终包括来自所有流的所有字段;如果字段重复,它们将以_1、_2等作为后缀

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

有几种方法可以实现这一点,但最简单的方法是在联接之后执行“选择值”步骤,并删除重复的字段“选择值”选项卡中的一个称为“删除”,它将删除您指定的任何字段

合并后,可以通过添加序列步骤添加最终Id字段


注意:在加入之前一定要对输入进行排序,因为两个合并步骤都假定要对输入数据进行排序。

我注意到合并后的结果与预期不一样-加入的第一个流在ID_时间有值,在ID_时间有值,在ID_时间有值,第二个流在ID_时间有值,在结果中的ID_时间有值。我希望所有的值都在ID\u Time下。因此,如果我删除重复项,我还将删除一些ID_时间值。是的,流在join键上按升序排序。知道如何在同一字段下合并重复项吗?比如用ID\u Time\u 1的值替换空ID\u Time值?啊,你完全正确。在这种情况下,您可以使用计算器步骤,并使用NVL操作在选择值步骤之前保持一个非空键值。使用NVL操作的计算器步骤完成了此任务!非常感谢你: