首先整理一下,关于kettle合并记录的基础知识

旧数据来源:旧数据来源的步骤

新数据来源:新数据来源的步骤

标志字段:设置标志字段的名称,标志字段用于保存比较的结果,默认值:flagfield,比较结果有下列几种。

1. “identical” – 旧数据和新数据一样

2. “changed” – 数据发生了变化

3. “new” – 新数据中有而旧数据中没有的记录

4. “deleted” –旧数据中有而新数据中没有的记录

关键字段:用于定位两个数据源中的同一条记录

数据字段:对于两个数据源中的同一条记录中,指定需要比较的字段

合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段(flagfield),来指定新旧数据的比较结果。

 

经过多次测试,有一条数据,在新旧数据来源中都有,在新数据中,已经发生了变化,但是执行结果都是identical,这个很奇怪;

解决方案

1、旧数据和新数据需要事先按照关键字段排序

2、旧数据和新数据要有相同的字段名称

 

看看是不是以上2个原因造成的。。。。。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐