首先整理一下,关于kettle合并记录的基础知识
旧数据来源:旧数据来源的步骤
新数据来源:新数据来源的步骤
标志字段:设置标志字段的名称,标志字段用于保存比较的结果,默认值:flagfield,比较结果有下列几种。
1. “identical” – 旧数据和新数据一样
2. “changed” – 数据发生了变化
3. “new” – 新数据中有而旧数据中没有的记录
4. “deleted” –旧数据中有而新数据中没有的记录
关键字段:用于定位两个数据源中的同一条记录
数据字段:对于两个数据源中的同一条记录中,指定需要比较的字段
合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段(flagfield),来指定新旧数据的比较结果。
经过多次测试,有一条数据,在新旧数据来源中都有,在新数据中,已经发生了变化,但是执行结果都是identical,这个很奇怪;
解决方案
1、旧数据和新数据需要事先按照关键字段排序
2、旧数据和新数据要有相同的字段名称
看看是不是以上2个原因造成的。。。。。