目录
(免责声明=-=)自己做的,所以可能会有问题,还望指出(改过后会实时更新),同样方法不止博主的一种,有很多,大家仁者见仁(博主自己的方法感觉有点笨重,博主正在尝试学习和找到更加好的方法,找到后会更新的,同时后面也会更新说一下每一步究竟干了啥),最后如果想要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 | 字符串,首字母大写, | San Zhang |
| | 字符串,小写 | |
| 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 |
|
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 |
| | 存在字母大写情况 | 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)总体设计

(2)步骤设计
2.1 文本文件输入


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

2.3字符串操作

2.4拆分字段

2.5字符串替换

2.6合并字符串

2.7文本文件输出



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

2.9去重操作

2.10xml output操作

2.11jison output操作


(1) 总体设计

(2)步骤设计
2.1 文本文件输入


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

2.3字符串操作

2.4拆分字段

2.5合并字段
2.6字符串替换

2.7拆分字段

2.8字段选择

2.9合并字段

2.10文本文件输出



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

2.12去重操作

2.13xml output操作

2.14jison output操作


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



