作者針對大數據問題,分析如何進行大數據的導入,如何使用大數據工具進行快速的數據預處理,以及如何構建數據倉庫。詳細講解了Kettle工具的使用、數據集成、Kettle作業(yè)項設計等。
數據預處理是數據挖掘中必不可少的關鍵一步,更是進行數據挖掘前的準備工作,一方面保證挖掘數據的正確性和有效性;另一方面通過對數據格式和內容的調整,使數據更符合挖掘的需要。
許桂秋 男,85年出生,計算機學士,工商管理碩士。 2009年-2012年,中國石油天然氣股份有限公司,負責項目管理工作,企業(yè)內部高級講師; 2012年-2015年,曙光信息產業(yè)股份有限公司,負責項目管理與企業(yè)內部培訓工作,企業(yè)內部高級講師; 2016年至今,曙光瑞翼教育合作中心,教學運營總監(jiān),負責各高校合作項目部的具體運營管理及指導工作。
第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 基于觸發(fā)器的CDC 95
3.4.4 基于觸發(fā)器的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作業(yè)設計 150
5.1 作業(yè)的概念及組成 151
5.1.1 作業(yè)項 151
5.1.2 跳 152
5.1.3 注釋 152
5.2 作業(yè)的執(zhí)行方式 152
5.2.1 回溯 152
5.2.2 多路徑和回溯 153
5.2.3 并行執(zhí)行 153
5.3 作業(yè)的創(chuàng)建及常用作業(yè)項 154
5.3.1 創(chuàng)建作業(yè) 155
5.3.2 “START”作業(yè)項 155
5.3.3 “作業(yè)”作業(yè)項 156
5.3.4 “轉換”作業(yè)項 158
5.4 變量 158
5.4.1 定義變量 159
5.4.2 使用變量 160
5.5 監(jiān)控 161
5.5.1 日志 161
5.5.2 郵件通知 162
5.6 命令行啟動 163
5.7 作業(yè)實驗 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