kettle组件-连接

1:合并记录
   该步骤用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配,
   比较,合并。
   需要设置的参数:
   旧数据来源:旧数据来源的步骤。
   新数据来源:新数据来源的步骤。
   标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种:
   identical:就数据和新数据一样。
   changed:数据发生了变化。
   new:新数据中有而就数据中没有的记录。
   deleted:旧数据中有而新数据中没有的记录。
   关键字段:用于定位两个数据源中的同一条记录。
   比较字段:对于两个数据源中的同一条记录中,指定需要比较的字段。
   合并后的数据将包括旧数据来源和新数据来源中的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标识字段,
 来指定新旧数据的比较结果。
 注:
 1:新旧数据需要事先按照关键字排序。
 2:就数据和新数据要有相同的字段名称。
 例如:
旧数据:
field1, field2
1, 1
2, 2
3, 3
4, 4
新数据
field1, field2
1, 1
2, 9
5, 5
设置:标志字段是flag,关键字段是 field1, 比较字段是field2
合并后的数据
field1; field2; flag
1; 1; identical
2; 9; changed
3; 3; deleted
4; 4; deleted
5; 5; new
2:排序合并
   对合并后的记录做排序,指定字段以及排序规则。
   一般在排序记录后边一定要跟上一个排序合并。
 https://blog.csdn.net/qq_22073849/article/details/65443846
3:记录关联(笛卡尔输出)
   这个步骤允许组合输入流中的所有行(笛卡尔输出)
 例:
   步骤名称:在单一转换中必须唯一
   临时目录:如果想输出更多的行,指定系统存储临时文件的目录名称。
   临时文件前缀:生成的临时文件的前缀。
   最大缓存大小:系统从临时文件读取数据的缓存大小。
   读取的主要步骤:指定读取最多数据的步骤名称。
 条件:可以指定复杂的条件限制输出行数。
   按照旧ETL工具,需要将基础表A、表B、表C、表D,4张表的数据保存到本地数据库,然后,再通过SQL将4张表的数据关联到一
   张结果表,过程共产生5张表,严重浪费数据库资源,以及当产生问题,增加维护难度。现使用kettle工具后,将不再需要将基础
   表A、表B、表C、表D这4张表的数据保留到本地数据库,大大降低数据库的压力。
 --------------------------先放
4:记录集连接
   多表的join,可以直接用sql写入【表输入】组件,也可以借助kettle提供的【记录集连接】组件,使用kettle的记录集连接组件,首先
   必须要两个输入数据集是有序的,并且是根据需要join的字段排序,可以借助kettle的【排序记录】组件。
 步骤:
   1:首先根据【排序记录】组件将两个数据集需要join的字段进行排序。
   2:使用记录集连接组件对数据集进行排序。
 注:
   1:第一个步骤为连接的主表
   2:连接类型分为,内链接,左外连接,右外连接,全外连接。
   3:两个步骤的连接字段必须和排序记录中的名称一致。
 其他:
   1:步骤名称:在单一转换中名称必须唯一。
   2:第一个步骤:指定要合并的第一个输入步骤。
   3:第二个步骤:指定要合并的第二个输入步骤。
   4:连接类型:选择合并可用的类型。
   5:连接字段:指定要做关联的字段。
 

 
原文地址:https://www.cnblogs.com/zja001/p/10084494.html