数据导入与预处理——实验2

目录

 前言

实验内容

任务一解答

 任务二解答

 方法一

方法二

 结果展示

工程文件


 

 前言

(免责声明=-=)自己做的,所以可能会有问题,还望指出(改过后会实时更新),同样方法不止博主的一种,有很多,大家仁者见仁(博主自己的方法感觉有点笨重,博主正在尝试学习和找到更加好的方法,找到后会更新的,同时后面也会更新说一下每一步究竟干了啥),最后如果想要ktr工程文件的,私信博主,有问题的也同样可以私信,点个赞谢谢了。

对于任务二,采用了两种方法,主要是针对Taiwan这个地区字段的处理,方法一是将country下的Taiwan改为了China(Taiwan),而方法二是将conntry下的Taiwan改为了China,将district改为了Taiwan,city顺次改下去。我建议大家用方法一就OK了,简单且没问题,方法二有点复杂且可能会有拆分错误。

实验内容

1.某公司需要将各地分公司的客户信息进行汇总,现在已经搜集到两个分公司的客户列表:

 customer_info_1.txt customer_info_2.txt

两个文件的格式一致,包含以下字段:

"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为你的姓名的拼音首字母,如zhangsan的文件名为:zs_customer_info.txt.

2.字段格式:

字段

格式

示例

customer_id

8位长字符串,不足8位的在客户号前补0

00000001

full_name

字符串,首字母大写, <firstname lastname>

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:mm

2019-11-21 03:49

last_update

时间日期格式:yyyy-MM-dd HH:mm

      1. 03:49

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

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

根据以上需求,完成以下任务:

任务一: 数据分析,列出数据字段问题描述

字段

问题描述

示例

 

 

 

任务二:使用Kettle开发数据转换,完成数据导入、转换与导出

任务一解答:

字段

问题描述

示例

customer_id

长度不足8位,且两个文件存在重复

1

create_date

格式为yyyy/MM/dd HH:mm

2014/9/25 22:31

last_update

格式为yyyy/MM/dd HH:mm

2014/9/25 22:31

phone

存在+和0开头

+705814003527

email

存在字母大写情况

WILLIAM.SATTERFIELD@sakilacustomer.org

first_name

存在字母大小写问题

ROBERT

last_name

存在字母大小写问题

smith

addressinfo

由Address,district,city,country以;分隔开来的,Taiwan地区的字段存在着错误,Taiwan是China的一部分

53 Idfu Parkway;Nantou;Nantou;Taiwan

 任务二解答:

 方法一:

(1)总体设计

2515a6631a744e6bb160f66baed1d5b5.png

 

  (2)步骤设计

2.1 文本文件输入

fcc94c7b3ae64aa1a7bacb330f8711dd.png

11913f4e89a84295a430190111233d59.png

 2.2去除重复记录(有一条重复哦)

803988ee1ce04e7298ba901c2d3aad77.png

 2.3字符串操作

c3f38b85a3604849b9bec25e98ea0b88.png

2.4拆分字段

ad69f6a958654291aa363cf42e4d08e6.png

 

 2.5字符串替换

35c3dd173c3e482a86418aee0cd47ae9.png

 

 2.6合并字符串

d7f9f8200d6c4370844262e1bd8cd66c.png

 

 2.7文本文件输出

334234a522424b72b83416f670bbed4c.png

f1085e5622ed4727b8e3e76f48881a8e.png

f0108ed2e76d4c489a7de1d3d2168b2c.png

2.8数据库表输出

记得先启动你的mysql服务,这里和实验一中的导出数据库表类似,不清楚就去看实验一

d5dce14841d341948db57fb8b3cbff32.png 707bbf00e6644694aeb8b4b6673e2d41.png

f2e4bb74c3264931bd62d40db6178e72.png 2.9去重操作

52439599f7bd4283b8530758a6f456ea.png

2.10xml output操作

cfbaa6e4f319483d8df7f9f5372df3ab.png 09578a2fb61e47d68bf12d62b1e0125c.png

 2.11jison output操作

f207f7cec7f04a898798464f88eb2fcd.png

20fe5328e1294fa6a93c24fffd8436cc.png

 

方法二:

(1) 总体设计

1bcacb6679d44b56bd449b33c7bb1830.png

 (2)步骤设计

2.1 文本文件输入

fcc94c7b3ae64aa1a7bacb330f8711dd.png

11913f4e89a84295a430190111233d59.png

 2.2去除重复记录(有一条重复哦)

803988ee1ce04e7298ba901c2d3aad77.png

 2.3字符串操作

c3f38b85a3604849b9bec25e98ea0b88.png

2.4拆分字段

7a22259b3d3c4369b9955e8eb72ad42d.png

2.5合并字段

e81c9cad43794897bb51e9cb997c6e3c.png 2.6字符串替换

72c543b95b08489fa27838aa034c0b26.png

 2.7拆分字段

cb963203f19246aeb8750d6cf82d355f.png

2.8字段选择

c33f4ce6dfcc4a77933f2f073ba7b453.png 521f449c42fd4db48549045eabb3c73f.png

2.9合并字段

6cf5a5e74a05429d95a63fa641419c69.png

2.10文本文件输出

334234a522424b72b83416f670bbed4c.png

f1085e5622ed4727b8e3e76f48881a8e.png

8e860344979f4a838dc294ff2b8d73f9.png

2.11数据库表输出

记得先启动你的mysql服务,这里和实验一中的导出数据库表类似,不清楚就去看实验一

d5dce14841d341948db57fb8b3cbff32.png 707bbf00e6644694aeb8b4b6673e2d41.png

f2e4bb74c3264931bd62d40db6178e72.png 2.12去重操作

52439599f7bd4283b8530758a6f456ea.png

2.13xml output操作

cfbaa6e4f319483d8df7f9f5372df3ab.png 09578a2fb61e47d68bf12d62b1e0125c.png

 2.14jison output操作

f207f7cec7f04a898798464f88eb2fcd.png

20fe5328e1294fa6a93c24fffd8436cc.png

 3.结果展示

结果展示的是方法二的结果

11d755ba01594aa7bdbe3e14d31fbfd5.png

2bd7579f8b414b1ea64d90883fe7fb6e.png

 

3091683211d04d5e86873845a9b68513.png

b4fbb0d3a5ff4b3d9bef3574215f5d56.png

工程文件

中意灬.ktr

 

 

 

 

 

 

 

 

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值