数据清洗(黑马程序员)第二章课后作业
一、填空题
1.__ETL _是实现商务智能(Business Intelligence ,BI)的核心和灵魂。
2.ETL是将业务系统的数据经过抽取、 转换 之后加载到数据仓库的过程。
3.ETL的实现有多种方式,常见的方式有借助 ETL工具 、编写SQL语句、_将ETL工具和SQL语句结合起来使用__。
4.数据的抽取分为数据的全量抽取和数据的 增量抽取 。
5.不符合要求的数据主要有不完整的数据、_ 错误的数据 、重复的数据三大类。
二、判断题
1.基于ETL的数据清洗是挖掘有价值数据的一种方案。 (√)
2.如果数据源为外部文件,可使用SQL语句进行数据清洗工作。 (×)
3.不完整数据主要包括日期越界的数据。 (×)
4.重复数据检测主要分为基于字段和基于记录的重复检测。 (√)
5. Kettle是一款国外免费开源的ETL工具,纯Python语言编写。 (×)
三、选择题
1.下列方式,_ 不属于增量抽取的方式。 (D)
A.触发器方式 B.时间戳方式
C.全表比对方式 D.批量抽取方式
2.下列算法中,_ 不可用于检测重复记录。 (A)
A.编辑距离算法 B.优先队列算法
C.N-Gram聚类算法 D、排序邻居算法
四、简答题
简述不符合要求数据的清洗流程。
答:不符合要求数据的清洗流程:数据的清洗转换是ETL中最复杂的部分,主要任务是过滤掉不符合要求的数据。不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。首先判断不符要求的数据属于哪种类型;
不完整数据的清洗流程:
(1)对获得的数据源进行不完整数据的检测,为后续的数据处理提供所需的数据。
(2)对检测出来的不完整数据进行处理,如修复缺失部分或全部内容的数据。
(3)输出处理后的符合要求的完整数据。
错误数据的清洗流程:
(1)将数据源按照规定的数据格式进行检测,并执行数据预处理,为后续的处理步骤做准备。
(2)对预处理后的数据进行一致性检测,如果预处理后的数据与原始数据存在完整性不一致的问题,则通过数据修改过程使数据统一。为避免再次出现该问题,应重复进行检测与修改过程,直到符合要求为止。
(3)输出修改后的数据。
重复数据的清洗流程:
(1)通过对源数据库属性段的分析,找到属性的唯一值,并根据唯一值对源数据库中的数据记录进行排序,可以选择自上而下或者自下而上的顺序排序。
(2)按顺序扫描数据库中的每一条记录,并将它与相邻的记录进行比较,进行记录的相似度匹配计算,输出修改后的数据。
(3)如果计算出的相似度数值大于系统设定的阈值,说明该记录或连续的几条记录为相似重复记录,则进行数据记录的合并或删除操作﹔否则扫描下一条数据记录,重复以上第(2)、(3)步骤。
(4)当所有数据记录检测完毕后﹐,输出清洗后的数据结果。