作者针对大数据问题,分析如何进行大数据的导入,如何使用大数据工具进行快速的数据预处理,以及如何构建数据仓库。详细讲解了Kettle工具的使用、数据集成、Kettle作业项设计等。
数据预处理是数据挖掘中必不可少的关键一步,更是进行数据挖掘前的准备工作,一方面保证挖掘数据的正确性和有效性;另一方面通过对数据格式和内容的调整,使数据更符合挖掘的需要。
许桂秋 男,85年出生,计算机学士,工商管理硕士。 2009年-2012年,中国石油天然气股份有限公司,负责项目管理工作,企业内部高级讲师; 2012年-2015年,曙光信息产业股份有限公司,负责项目管理与企业内部培训工作,企业内部高级讲师; 2016年至今,曙光瑞翼教育合作中心,教学运营总监,负责各高校合作项目部的具体运营管理及指导工作。
第1章 数据预处理概述 1
1.1 数据预处理的背景与目的 1
1.1.1 数据预处理的背景:数据质量 1
1.1.2 数据预处理的目的 3
1.2 数据预处理的流程 3
1.2.1 数据清理 3
1.2.2 数据集成 5
1.2.3 数据变换 6
1.2.4 数据归约 8
1.2.5 数据预处理的注意事项 12
1.3 数据预处理的工具 12
第2章 Kettle工具的初步使用 14
2.1 Kettle的安装 14
2.1.1 Java的安装 14
2.1.2 Kettle的下载安装与Spoon的启动 19
2.2 Kettle的使用 19
2.2.1 转换的基本概念 19
2.2.2 第一个转换案例 21
第3章 基于Kettle的数据导入与导出 42
3.1 基于文件的数据导入与导出 42
3.1.1 文本文件的导入与导出 42
3.1.2 文本文件的导入与导出案例 43
3.1.3 Excel文件的导入与导出 49
3.1.4 Excel文件的导入与导出案例 50
3.1.5 XML文件的导入与导出 57
3.1.6 XML文件的导入与导出案例 57
3.1.7 JSON文件的导入与导出 62
3.1.8 JSON文件的导入与导出案例 62
3.2 基于数据库的数据导入与导出 66
3.2.1 关系型数据库的数据导入与导出 67
3.2.2 MySQL数据库的数据导入与导出案例 69
3.3 基于Web的数据导入与导出 75
3.3.1 HTML数据的导入与导出 76
3.3.2 HTML数据的导入与导出案例 76
3.3.3 基于HTTP GET请求的导入与导出 80
3.3.4 基于HTTP GET请求的导入与导出案例 80
3.4 基于CDC变更数据的导入与导出 83
3.4.1 基于源数据的CDC 83
3.4.2 基于源数据的CDC案例 84
3.4.3 基于触发器的CDC 95
3.4.4 基于触发器的CDC案例 95
3.4.5 基于快照的CDC 105
3.4.6 基于快照的CDC案例 105
3.4.7 基于日志的CDC 109
3.4.8 基于日志的CDC案例 109
第4章 数据清理 112
4.1 数据清理概述 112
4.1.1 常用的数据清理步骤 112
4.1.2 字符串清理 113
4.1.3 字段清理 118
4.1.4 使用参照表清理数据 125
4.1.5 数据校验 130
4.2 数据排重 134
4.2.1 如何识别重复数据 135
4.2.2 去除完全重复数据 135
4.2.3 去除不完全重复数据 136
4.3 使用脚本组件进行数据清理 140
4.3.1 使用JavaScript代码组件清理数据 140
4.3.2 使用正则表达式组件清理数据 142
4.3.3 使用其他脚本组件清理数据 145
第5章 Kettle作业设计 150
5.1 作业的概念及组成 151
5.1.1 作业项 151
5.1.2 跳 152
5.1.3 注释 152
5.2 作业的执行方式 152
5.2.1 回溯 152
5.2.2 多路径和回溯 153
5.2.3 并行执行 153
5.3 作业的创建及常用作业项 154
5.3.1 创建作业 155
5.3.2 “START”作业项 155
5.3.3 “作业”作业项 156
5.3.4 “转换”作业项 158
5.4 变量 158
5.4.1 定义变量 159
5.4.2 使用变量 160
5.5 监控 161
5.5.1 日志 161
5.5.2 邮件通知 162
5.6 命令行启动 163
5.7 作业实验 165
第6章 构建数据仓库 193
6.1 构建维度表 193
6.1.1 管理各种键 193
6.1.2 维度表的加载 197
6.1.3 缓慢变化维度 198
6.2 构建事实表 203
6.2.1 批量加载 203
6.2.2 查找维度 206
6.2.3 事实表的处理 207
第7章 基于Python的数据导入与导出 216
7.1 Pandas 216
7.1.1 Series 216
7.1.2 DataFrame 219
7.2 文本文件的导入与导出 220
7.2.1 导入CSV文件 221
7.2.2 导出CSV文件 223
7.2.3 JSON格式数据的导入与导出 224
7.3 二进制文件的导入与导出 225
7.4 数据库的导入与导出 226
7.4.1 关系型数据库的导入与导出 226
7.4.2 非关系型数据库的导入与导出 227
第8章 基于Python的数据整理 231
8.1 合并多个数据集 231
8.1.1 使用key进行DataFrame合并 231
8.1.2 使用index进行DataFrame合并 234
8.1.3 沿着横轴或纵轴串接 235
8.2 数据重塑 237
8.2.1 多级索引数据的重塑 238
8.2.2 应用pivot方法重塑数据 239
8.3 数据转换 242
8.3.1 移除重复数据 242
8.3.2 利用函数或映射进行数据转换 243
8.3.3 值转换 243
8.3.4 重命名轴索引 244
8.3.5 离散化和面元划分 245
8.3.6 检测或过滤异常值 247
8.3.7 排列和随机采样 248
8.3.8 计算指标/哑变量 249
参考文献 253