ETL实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ETL实验报告

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

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档