第1章数据清洗概述1 1.1数据清洗的背景1 1.1.1数据质量概述1 1.1.2数据质量的评价指标2 1.1.3数据质量的问题分类3 1.2数据清洗的定义6 1.3数据清洗的原理6 1.4数据清洗的基本流程7 1.5数据清洗的策略8 1.6常见的数据清洗方法8 1.7本章小结9 1.8本章习题9 第2章初识ETL11 2.1基于ETL的数据清洗11 2.1.1ETL的概念11 2.1.2ETL的体系结构12 2.2ETL关键技术12 2.2.1数据的抽取12 2.2.2数据的清洗转换13 2.2.3数据的加载15 2.3ETL常见工具介绍16 2.4本章小结17 2.5本章习题17 第3章Kettle工具的基本使用19 3.1Kettle简介19 3.1.1Kettle概述19 3.1.2Kettle的设计原则203.2Kettle的下载安装21 3.3Kettle的基本概念23 3.3.1转换24 3.3.2作业28 3.4Kettle的基本功能32 3.4.1转换管理32 3.4.2作业管理42 3.4.3数据库连接48 3.5本章小结51 3.6本章习题52 目录数据清洗第4章数据抽取53 4.1抽取文本数据53 4.1.1TSV文件的抽取53 4.1.2CSV文件的抽取61 4.2抽取Web数据68 4.2.1HTML网页的数据抽取68 4.2.2XML文件的数据抽取75 4.2.3JSON文件的数据抽取84 4.3抽取数据库数据92 4.3.1抽取关系型数据库的数据92 4.3.2抽取非关系型数据库的数据98 4.4本章小结106 4.5本章习题106 第5章数据的清洗与检验108 5.1数据去重108 5.1.1完全去重108 5.1.2不完全去重113 5.2缺失值处理119 5.2.1缺失值清洗策略119 5.2.2去除缺失值120 5.2.3填充缺失值130 5.3异常值142 5.3.1出现异常值的原因142 5.3.2检测异常值142 5.3.3删除包含异常值的记录144 5.3.4修补异常值150 5.4数据检验160 5.4.1数据一致性处理160 5.4.2数据规范化处理169 5.5本章小结177 5.6本章习题177 第6章数据转换179 6.1多数据源的合并179 6.2不一致数据转换192 6.3数据粒度的转换203 6.4数据的商务规则计算239 6.5本章小结251 6.6本章习题251 第7章数据加载253 7.1数据的加载机制253 7.1.1全量加载253 7.1.2增量加载258 7.2数据的批量加载264 7.3本章小结271 7.4本章习题271 第8章综合案例——构建DVD租赁商店数据仓库273 8.1案例概述273 8.1.1案例背景介绍273 8.1.2数据仓库的架构模型273 8.1.3数据仓库效果预览274 8.2数据准备276 8.2.1数据库sakila的下载和安装276 8.2.2数据库sakila简介276 8.2.3数据表简介278 8.3案例实现283 8.3.1构建DVD租赁商店数据仓库283 8.3.2加载日期数据至日期维度表284 8.3.3加载时间数据至时间维度表294 8.3.4加载员工数据至员工维度表302 8.3.5加载用户数据至用户维度表310 8.3.6加载商店数据至商店维度表326 8.3.7加载演员数据至演员维度表335 8.3.8加载电影数据至电影维度表341 8.3.9加载租赁数据至租赁事实表366 8.3.10加载数据库sakila中的数据至数据仓库sakila_dw385 8.4本章小结394