• 数据导入与预处理——实验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

    字符串,首字母大写,

    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

     

     

     

     

     

     

     

     

  • 相关阅读:
    PLC有几种编程语言以及它们的特点是什么
    Shell——查看基础信息脚本
    【适用于电力系统和音频系统】计算信号的总谐波失真 (THD)(Matlab代码实现)
    SaaSBase:微宏科技是什么?
    4.Spring EL运算符
    远程运维用什么软件?可以保障更安全?
    20220814NOI模拟赛--考后总结
    RxJava/RxAndroid的操作符使用(二)
    升讯威在线客服系统的并发高性能数据处理技术:为多线程处理同步数据
    R语言绘制热图
  • 原文地址:https://blog.csdn.net/qq_55977554/article/details/127669604