前言:
kettle开发Day11讲到了,去除重复记录+排序记录,可以处理指定字段重复的记录。今天要讲的哈希值,和去除重复记录和排序记录时,达到的效果是一样的,但是他们之间的实现原理却是不同的。去除重复记录需要配合排序记录一起使用,今天来看看哈希值这个组件怎么去使用和其中实现的原理吧。
一、哈希值(唯一行)
如图所示,虽然殊途同归,但是哈希值的实现原理和去除重复记录+排序记录实现用原理还是有较大的区别的。 唯一行是将所有的数据去求一个哈希值,然后对所有的数据进行对比。去除重复记录和排序记录是对相邻的两行记录进行对比,这也是为啥去除重复记录必须要先排序,然后进行对比。
二、转换作业
我们还是用昨天讲到的EXCEL来进行唯一行组件的测试。对应转换包括EXCEL输入、唯一行(哈希值)、EXCEL输出。如下图所示,这是我们最终转换作业的组成。
首先我们先对EXCEL进行设置,和前面一样,我们找到input目录,指定对应EXCEL输入的位置,并获取对应EXCEL中的字段。
唯一行,与去除重复记录不同的是,这里面不能设置大小写是否敏感等。只需选取对应需要比较的字段即可。操作较简单,但是如果我们需要区分大小写再去比较,这时候还是建议使用去除重复记录组件,较为合适。
然后我们再指定输出,指定输出结果的位置,然后运行转换,来查看对应的结果。结果如我们所示,由以前的8条,变成了4行,效率较去除重复记录和排序记录要高,因此,我们要根据我们的需求合理选择。