浅谈Compare Difference Change Capture Stage
Compare, Difference 和Change Capture Stage 是 Parallel job 中三个用于比较数据集合异同的 stage.
Change Capture Stage
功能特点:
Change Capture Stage有两个输入,分别标记为before link 及after link。输出的数据表示before link 和after link的区别.
使用要点:
key及value的说明:
key值是比较的关键值,value是当key值相同是作进一步比较用的。
change mode选项说明:
All keys,Explicit Values 需要指定value,其余字段为key
Explicit Keys&Values key及value都需要指定
Explicit Keys,All Values 需要指定key,其余的字段为value
输出策略说明:
Drop Output For Copy
False:保留before及afte link中key值相同的行
True:删除before及afte link中key值相同的行
Drop Output For Delete
False:保留before link中有但是after link中没有的key值所在的行
True:删除before link中有但是afte link中没有的key值所在的行
Drop Output For Edit
False:保留key值相同,value不同的行
True:删除key值相同,value不同的行
Drop Output For Insert
False:保留before link中没有但afte link中有的key值所在的行
True:删除before link中没有但afte link中有的key值所在的行
Change capture stage 实例
Before data set:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZD9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVP9cWTxEkeNRTQ61UdWhUYxw2RiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TMykDO0ATN5ATNxgDMzEDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
After data set:
Data set output:
Difference Stage
Stage类型:Processing Stage
功能说明:
按字段比较两个文件,找出不同的记录。(两个文件before和after,以before为准,与after文件中的记录进行比较,找出before在after文件中没有或者有的记录)
比较策略同上.
Difference stage 实例
Before data set:
After data set:
Data set output:
Compare Stage
Stage类型:Processing Stage
功能说明: 按字段对比两个已经分类的有序的文件
Compare stage 实例
The first data set:
The second data set:
Data set output:
我们再来看看change capture和difference stage的output界面:
Change capture:
Difference:
由此可见:
Capture Change Stage 输出的是以 after 输入流为基础,外加 change code字段.
Difference Stage 的输出是以 before 输入流为基础,外加 changecode 字段
compare除了resualt_code还会把first和second的所有字段都输出,且字段不能人工填写