由于本项目主要目的在于学习关于大数据的数据处理,所以我们直接用老师已经给出的进行了初步处理的数据集,直接进行数据的清洗。

1. 手机销售信息表去重(对应实验2-3.3)

实际上所给数据已无重复数据,这个不做也行。不过为了学习,可以复制一行制造出重复数据再进行去重

编辑组件如图

实训8-1

关于组件配置,需要注意的是:
(1)“CSV文件输入”组件中,应选中“包含列头行”
(2)“排序记录”不用改动,直接点“获取字段”
(3)“去除重复记录”不用改动,直接点“获取字段”
(4)“文本文件输出”中,扩展名改为csv;“内容”面板里,分隔符改为,(英文逗号);“字段面板”点击“获取字段”

每个组件都要点击“获取字段”

2. 清洗手机销售信息表“型号”字段数据(对应实验2-3.4)

要求:去除该字段中的所有空格,方便后续聚合统计,字母统一大小写,
去除该字段中的所有特殊字符(各种标点符号)

经测试,以下正则表达式可以匹配 ~!@#$%^&*()_+=-`/,.。,??';:“”;:【】[]{}\、¥…—·|中每一字符

~| |!|@|#|\$|%|\^|&|\*|\(|\)|_|\+|=|-|`|/|\\|,|\.|。|,|?|\?|'|;|:|;|:|“|”|【|】|\[|\]|\{|\}|、|¥|…|·|\||—

使用Kettle对数据进行去除空格、转换为大写及字符串替换:

微信截图_20190907212853

结果:
微信截图_20190907212853

3. 去除用户评论信息表的重复记录(对应实验2-3.5)

同1

4. 处理用户信息表中出生日期字段(对应实验2-3.6)

(将 2019 年 5 月 20 日转换为2019-5-20)
使用正则表达式替换
将(\d{4})年(\d{1,2})月(\d{1,2})日替换为$1-$2-$3

日期

在生成的文本文件中可能会发现多了很多空格,这是因为“文本文件输出”组件中设置了字段的固定长度,可以点击最小长度来去除多余的空格。