Spoon Kettle 合并排序详解(Merge join)

1 概述

合并排序(Merge join)
可理解为数据库中的连接方式(left join、right join、join)
警告:关联的字段需先排序,否则会遗漏数据

2 示例

2.1 转换图

在这里插入图片描述

2.2 表输入

测试数据:

1、表输入
with t_test_a as (
  select 1 sno, 'a' name from dual union all
  select 2 sno, 'b' name from dual union all
  select 3 sno, 'c' name from dual
)
select * 
  from t_test_a

2、表输出
with t_test_b as (
  SELECT 1 sno, '男' sex FROM dual UNION ALL
  SELECT 2 sno, '女' sex FROM dual
)
select * 
  from t_test_b

表输入:(表输出同理)
在这里插入图片描述

2.3 记录集连接

在这里插入图片描述

2.4 Excel 输出

在这里插入图片描述

Excel 设置:
在这里插入图片描述

2.5 执行结果

在这里插入图片描述

  • 控件右上角图标含义:
    • √:执行成本
    • ×:执行失败

最终写入 Excel:
在这里插入图片描述

3 扩展

3.1 警告:‘合并连接’ 算法要求输入流事先排好序

在这里插入图片描述

上述示例中,sno 是按顺序排列的,若打乱,则会影响最终结果
在这里插入图片描述

sno 顺序打乱后,其余不变,测试结果如下:
在这里插入图片描述

3.2 警告的解决方案:排序记录

转换图:

在这里插入图片描述

转换 - 排序记录:
在这里插入图片描述

请注意:需修改 “记录集连接 Merge join” 中的 “第一个步骤”
在这里插入图片描述

最终写入 Excel 结果:
在这里插入图片描述