5.1.2 不完全去重
案例介绍:
现在有一份用户访问网站的数据文件person.txt,内容如图所示。
从上面图中可以看出,第1条记录和第11条记录都指向同一个用户,只是访问的时间不同。下面通过 Kettle 工具将文件 people,txt 中不完全重复的数据进行去重处理,即用name(名)UserLevel (用户级别)和 Phone (手机号)3个字段作为去重处理的比较对象判段唯一用户,步骤如下:
1.打开Kettle工具,创建转换
通过使用Kettle工具,创建一个转换,并添加“文本文件输入”控件、“唯一行(哈希值)”控件以及Hop跳连接线,具体如图所示。
2.配置文本文件输入控件
双击“文本文件输入”控件,进入“文本文件输入”配置界面,单击【浏览】按钮,选择要去重的文件people.txt;单击【增加】按钮,将要去重的文件people.txt添加到转换中。
单击“内容”选项卡;清除分隔符处的默认分隔符“;”,并单击【Insert TAB】按钮,在分隔符处插入一个制表符;取消勾选“头部”复选框。
单击“字段”选项卡;根据文件people.txt的内容添加对应的字段名称,并指定数据类型。
单击【预览记录】按钮,查看文件people.txt的数据是否成功抽取到文本文件输入流中。
3.配置唯一行(哈希值)控件
双击“唯一行(哈希值)”控件,进入“唯一行(哈希值)”配置界面。在“用来比较的字段”处,添加要比较去重的字段,即Name、UserLevel、Phone字段。
4.运行转换
选中“唯一行(哈希值)”控件,单击执行结果窗口的“Preview data”选项卡,查看是否消除文件people.txt中不完全重复的数据。