ETL实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ETL实验报告:
学号:
1.创建数据源
在数据源/文件/文本文件-分隔符分割目录下依次添加文本文件户
籍.txt、.txt、记录.txt、地理维.txt。

2.创建工程、新建转换,并装载文本文件数据源,如下图所示:
3.创建工程函数
a)calIDcard:实现由15位到18位的转变
b)calAge:由计算实际年龄
c)calSex:由计算性别
d)calBirth:由计算出生年月日
e)calPID:由号计算省编号
f)calPhone:由手机计算运营商编号
g)calTime:把通话记录的通话时长转换成以秒为单位的数字
以上函数的实现源码如下:
4.输出错误数据
错误数据包括年龄缺失、年龄错误、性别缺失、性别错误。

在过滤条件中利用自定义函数过滤即可,过滤条件为:is_empty(Age)==true || Age!
=calAge(IDCard) || is_empty(Sex)==true || Sex!=calSex(IDCard),如图所示:
5.户籍信息修正
在高级清洗转换中利用自定义函数把15位转换为18位,把年龄缺失、年龄错误、性别缺失、性别错误修正,如下图所示:
6.删除重复行
原数据中可能存在重复数据,利用数据转换中的删除重复行可删除重复数据,同时可以在错误输出中得到重复的数据。

7.加载信息
加载信息,然后利用高级清洗转换把信息中的15位转换成18位。

8.连接和信息
利用连接,把户籍信息和信息通过连接起来,如下:
9.生成信息事实表
把户籍信息和信息连接起来以后,通过数据清洗和转换得到省编号、出生日期、运营商编号,然后将信息装载到文本文档,即得到信息事实
表,如下图所示:
10.装载记录表
装载记录信息,并通过数据清洗转换把通话时长转换成以秒为单位的数字。

过滤掉通话时长小于2秒的数据,并通过聚合计算出两个人之间的平均通话时长。

11.连接通话记录中与
分别通过两次连接,把主叫手机号与主叫连接,把被叫手机号与被叫连接。

12.生成人际关系表
把连接后的数据,按照主叫手机号、通话平均时长(单位:秒)按照降序排序,即得到人际关系表,并按个人联系度从高到低次序排列个人联系人。

如图:
13.使用心得
该工具支持java自定义函数,使得工具灵活而且功能强大。

通过可视化设计使操作非常方便,使流程图简洁易懂。

相关文档
最新文档