Kettle 去除重复记录


任务描述

由于输入或其他错误的原因,数据文件中可能出现两条或多条数据完全相同的记录,这些相同的记录成为重复记录。

重复的记录属于“脏数据”,会造成数据统计和分析不正确,必须清洗掉重复记录。

由于在“期考成绩.xls”文件中,发现存在序号不同,但是学号、各科考试成绩完全相同的记录,所以需要使用【去除重复记录】组件,去除这些重复的数据。

实现思路

  • 建立【去除重复记录】转换工程。
  • 设置【去除重复记录】组件参数。
  • 预览结果数据。

操作过程

1)建立去除重复记录转换工程

  • 在去除重复记录(简称“去重”)之前,必须使用关键字段对数据记录进行排序,确定哪些记录属于重复记录。
  • 使用Ctrl+N快捷键,创建【去除重复记录】转换工程。接着创建【Excel输入】组件,设置参数,导入“期考成绩.xls”文件。
  • 接着创建【排序记录】组件,并由【Excel输入】组件指向【排序记录】组件,简历节点连接,如图所示:

  • 双击【排序记录】组件,对“学号”字段按照升序进行排序后预览数据,如图所示,除了“序号”字段数据外,“学号”分贝为“201709023”“201709028”的数据各有两条记录,并且对应的“语文”“数学”等考试科目和“创建时间”的数据也相同。

  • 在【去除重复记录】转换工程中,单击【核心对象】选项卡,展开【转换】对象,选中【去除重复记录】组件,并拖拽至右边工作区中,并由【排序记录】组件指向【去除重复记录】组件,建立节点连接,如图所示:

2)设置参数

双击【去除重复记录】组件,弹出【去除重复记录】对话框,如图所示:

【去除重复记录】组件的参数包含了组件的基础参数和【用来比较的字段】表参数。

在【去除重复记录】对话框中,设置参数,去除学号相同的记录,步骤如下:

1)确定组件名称。【步骤名称】参数保留默认值“去除重复记录”。

2)确定计数器字段。【增加计数器到输出】设置为“√”,【计数器字段】设置为“重复行数”。

3)确定错误描述。【重定向重复记录】设置为“√”,【错误描述】设置为“重复输入”。

4)设置用来比较字段参数,在【用来比较的字段】表中,【字段名称】设置为“学号”,【忽略大小写】设置为“N”,此时完成【去除重复记录】组件参数的设置,如图所示。

3)预览结果数据

在【去除重复记录】转换工程中,单击【去除重复记录】组件,点击预览去除重复记录后的数据,如图所示: