数据导入与预处理——实验二:字段清洗

1. 实验内容

1.某公司需要将各地分公司的客户信息进行汇总,现在已经搜集到两个分公司的客户列表:
两个文件的格式一致,包含以下字段:
“customer_id”: 客户号
“first_name”: 客户名
“last_name”: 客户姓
“email”: 客户电邮地址
“postal_code”:客户邮编
“addressinfo”:客户地址 (地址格式:stree;district;city;country)
“phone”: 客户电话
“create_date”: 客户信息创建时间
“last_update”:客户信息最后修改时间

要求:
公司要求将两个分公司汇报的名单进行汇总到一个文件,新的客户信息文件的格式要求如下:
(1)文件格式:
使用;(分号)对字段进行分隔,文件名为abc_customer_info.txt
注意:abc为你的姓名的拼音首字母
(2)字段格式:

字段格式示例
customer_id8位长字符串,不足8位的在客户号前补000000001
full_name字符串,首字母大写, San Zhang
email字符串,小写zhang.san@xxxx.xxx
postal_code字符串,仅包含数字400044
address字符串,客户所在的街道地址128 South Daxuecheng Road
district字符串,客户所在地区域
city字符串,客户所在地城市Chongqing
country字符串,客户所在地国家中国/China
phone字符串,客户联系电话,按规则进行号码规整:第一位不是0,且不包含非数字字符13902333333
create_date时间日期格式:yyyy-MM-dd HH:mm2019-11-21 03:49
last_update时间日期格式:yyyy-MM-dd HH:mm2019-11-21 03:49

2.将客户基本信息(customer_id,full_name,email,phone)导入客户数据库表

3.地理信息(country,city,district)去重后导入xml,json格式文件

根据以上需求,完成以下任务:
任务一: 数据分析,列出数据字段问题描述
任务二:使用Kettle开发数据转换,完成数据导入、转换与导出

2. 任务一解答:

数据分析,列出数据字段问题描述

字段问题描述示例
customer_id该字段不足8位,以及类型不是字符串1(Integer)
first_name存在首字母没有大写及全名大写且需要与lastname合并Mary;JOHN
last_name存在首字母没有大写及全名大写且需要与firstname合并Smith;FARNSWORTH
email存在大写JOHN.FARNSWORTH
postal_code类型不为字符串400044(Integer)
addressinfo需要按;进行对字符串拆分,及字符串里面存在错误字符“台湾国家”41ElAltoParkway;Maharashtra;Parbhani;India;country:taiwan
phone第一位存在0以及特殊字符+0135534;+132424
create_date时间格式为年/月/日2022/11/2
last_update时间格式为年/月/日2022/11/2

3. 任务二解答:

3.1 总体设计

在这里插入图片描述

3.2 步骤设计

customer_info_12文本导入(输入步骤:文本文件导入)
文件
在这里插入图片描述
字段
在这里插入图片描述

字符串操作(转换步骤:字符串操作)
在这里插入图片描述

拆分addressinfo字段(转换步骤:拆分字段)
在这里插入图片描述

字符串替换(转换步骤:字符串转换 进行利用正则表达式)
在这里插入图片描述

连接姓名字段(转换步骤:concat fields)
在这里插入图片描述
利用ID去除重复记录(转换步骤:去除重复记录)
这里可以先对ID进行排序然后再去重
排序在这里插入图片描述
去重
在这里插入图片描述

字段选择及修改日期格式(转换步骤:字段选择)
字段选择
在这里插入图片描述> 修改日期格式
在这里插入图片描述

文本文件输出(输出步骤:文本文件输出)
在这里插入图片描述

客户数据表输出(输出步骤:表输出)
新建数据库连接
在这里插入图片描述
选择数据库字段(customer_id,full_name,email,phone)
在这里插入图片描述
在这里插入图片描述

对地理信息进行xml、json输出(步骤输出)
地理信息去重(转换步骤:去除重复记录)
在这里插入图片描述
xml输出
在这里插入图片描述
在这里插入图片描述
json输出
在这里插入图片描述
在这里插入图片描述

3.3 成果展示

执行情况
在这里插入图片描述
在这里插入图片描述
执行结果
文本文件输出
在这里插入图片描述
客户数据表输出
在这里插入图片描述
xml地理输出
在这里插入图片描述
json文件输出
在这里插入图片描述

4. 工程附件

链接:https://pan.baidu.com/s/1vP2AYSapsxOBS3G3s3ugDw?pwd=n5tn
提取码:n5tn

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值