Merge Pentaho水壶连接不同领域的溪流
在转换过程中,我有多个步骤,将来自不同流文件的数据连接起来。所有流都有一个公共字段,即ID\u Time 现在,当我尝试在ID_时间连接两个流时,比如说使用多路合并连接,我会得到ID_时间和ID_时间1字段。我想把它们合并成一个,所以我们去掉了_1列。如果两个流中没有相同的列,我希望不必为null的列 例如: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 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操作的计算器步骤完成了此任务!非常感谢你: