ETL实验报告
D
输出错误数据
错误数据包括年龄缺失、年龄错误、性别缺失、性别错误。在过滤条件中利用自定义函数过滤即可,过滤条件为:is_empty(Age)==true || Age!=calAge(IDCard) || is_empty(Sex)==true || Sex!=calSex(IDCard),如图所示:
户籍信息修正
在高级清洗转换中利用自定义函数把15位身份证转换为18位,把年龄缺失、年龄错误、性别缺失、性别错误修正,如下图所示:
删除重复行
原数据中可能存在重复数据,利用数据转换中的删除重复行可删除重复数据,同时可以在错误输出中得到重复的数据。
加载电话号码信息
加载电话号码信息,然后利用高级清洗转换把电话号码信息中的15位身份证号码转换成18位身份证号码。
连接身份证号码和电话信息
利用内连接,把户籍信息和电话号码信息通过身份证号码连接起来,如下:
生成电话信息事实表
把户籍信息和电话号码信息连接起来以后,通过数据清洗和转换得到省编号、出生日期、运营商编号,然后将信息装载到文本文档,即得到电话信息事实表,如下图所示:
装载电话记录表
装载电话记录信息,并通过数据清洗转换把通话时长转换成以秒为单位的数字。过滤掉通话时长小于2秒的数据,并通过聚合计算出两个人之间的平均通话时长。
连接通话记录中电话号码与身份证号码
分别通过两次连接,把主叫手机号与主叫身份证号码连接,把被叫手机号与被叫身份证号码连接。
生成人际关系表
把连接后的数据,按照主叫手机号、通话平均时长(单位:秒)按照降序排序,即得到人际关系表,并按个人联系度从高到低次序排列个人联系人。如图:
使用心得
该工具支持java自定义函数,使得工具灵活而且功能强大。通过可视化设计使操作非常方便,使流程图简洁易懂。
ETL实验报告 来自淘豆网m.daumloan.com转载请标明出处.