实验课程

THIS NAME

实验课程

当前位置: 首页 >> 实验课程 >> 正文

大数据采集与预处理-​Kettle完全去重

发布日期:2024-08-19    作者:井睿勍     来源:     点击:

Kettle完全去重

一、实验目的

1、了解到数据完全去重的相关知识和操作。

二、实验设备与器件

PC机、phpstudywamp环境)、sublime text或者php storm工具

三、实验内容

相关知识

完全去重指的是消除完全重复的数据,这里提到的完全重复数据指的是数据表记录字段值完全一样的数据。

例如:现在有两个表格,分别记录不同年份的用户信息,现要求合并统计所有用户信息,发现合并后的表格存在完全重复的数据,示例如图1所示。
        IMG_256

图1   用户名单

从图1中可以看出,合并后的数据表中存在完全相同的数据,为了便于后期更加方便地使用这些用户数据,通常情况下会对数据进行去重操作。

接下来使用Kettle工具演示如何消除这些完全重复的数据,具体步骤如下:

1. 数据准备

合并后的用户名单存放在CSV文件merge.csv中,具体内容如图2所示。

        IMG_257

图2   merge.csv文件的内容

2. 打开Kettle工具,新建转换

使用Kettle工具创建转换repeat_transform,并添加CSV文件输入控件、唯一行(哈希值)控件以及Hop跳连接线,具体效果如图3所示。

        IMG_258

图3   创建转换 repeat_transform

3. 配置CSV文件输入控件

双击图3中的CSV文件输入控件,进入CSV文件输入界面,如图4所示:

        IMG_259

图4   “CSV文件输入”界面

在图4中单击“浏览”按钮,选择要进行完全去重处理的CSV文件merge.csv,如图5所示。

        IMG_260

图5   选择要进行完全去重处理的CSV文件merge.csv

在图5中单击“获取字段”按钮,Kettle会自动检索CSV文件,并对文件中的字段类型、格式、长度、精度等属性进行分析,具体如图6所示。

        IMG_261

图6   Kettle 检索CSV文件

在图6中单击“预览”按钮,查看CSV文件merge.csv的数据是否加载到CSV文件输入流中,具体效果如图7所示。

        IMG_262

图7   预览数据

从图7中可以看出,CSV文件merge.csv的数据已经成功抽取到CSV文件输入流中,单击“关闭”按钮关闭预览数据窗口,再点击“确定”按钮,完成“CSV文件输入”控件的配置。

4. 配置“唯一行(哈希值)”控件

双击图3中的“唯一行(哈希值)”控件,进入“唯一行(哈希值)”界面,如图8所示。

        IMG_263

图8   “唯一行(哈希值)”界面

在图8中的“用来比较的字段”处添加要去重的字段,这里可以单击“获取”按钮,添加需要去重的字段,具体如图9所示。

        IMG_264

图9   添加需要去重的字段

在图9中单击“确定”按钮,完成“唯一行(哈希值)”控件的配置。

5. 运行转换repeat_transform

单击转换工作区顶部的运行按钮,运行创建的转换repeat_transform,实现消除CSV文件中完全重复的数据,具体如图10所示。

        IMG_265

图10   运行转换repeat_transform

从图10中执行结果窗口的“步骤度量”选项卡可以看出,“CSV文件输入”控件输入10条数据并写入该控件9条数据(其中有1条数据为表头);“唯一行(哈希值)”控件从
“CSV文件输入”控件读取9条数据,写入该控件7条数据,拒绝2条数据(这2条数据为完全重复数据)。也就是说,CSV文件merge.csv中有2条数据与其他数据完成重复。
选中图10中的“唯一行(哈希值)”控件,单击执行结果窗口的Preview data选项卡,查看是否消除CSV文件merge.csv中完全重复的数据,具体如图11所示。

        IMG_266

图11   查看是否消除CSV文件merge.csv中完全重复的数据

从图11中可以看出,CSV文件merge.csv中的数据已经没有了完全重复的值,说明通过工具实现了消除完全重复数据的功能。

注意:本关卡操作只是将CSV文件merge.csv的数据读取到Kettle中进行完全去重处理,并不会改变CSV文件merge.csv的原始数据,如需保存处理后的数据,须添加相关输出控件。

编程要求

请在右侧云桌面中进行操作,完成以下任务:

·                         根据以上操作步骤完成对merge.csv文件的完全去重,文件路径:/data/workspace/data_set/merge.csv

·                         添加“文本文件输出”节点,将去重后的数据输出到文本文件中,输出文件路径:/data/workspace/data_set/step1_out.txt

测试说明

在按编程要求完成操作后,请点击评测按钮,系统会自动对你的操作进行评测。
当你的结果与预期输出一致时,即为通过。

预期输出:

Name;Gender;City
zhangsan ;male  ;beijing
liwu     ;male  ;nanjing
hanmeimei;female;hebei
wangliu  ;male  ;henan
1isi     ;male  ;nanjing
wangwu   ;male  ;henan
xiaoming ;female;sichuan

上一条:大数据采集与预处理-Kettle数据清洗与转换 下一条:应用操作系统-Linux 查询命令帮助语句

关闭