數據采集與預處理(第2版 )
林子雨
- 出版商: 人民郵電
- 出版日期: 2025-08-01
- 售價: $419
- 語言: 簡體中文
- 頁數: 284
- ISBN: 7115657289
- ISBN-13: 9787115657282
-
相關分類:
大數據 Big-data
下單後立即進貨 (約4週~6週)
商品描述
本書詳細闡述了大數據領域數據采集與預處理的相關理論和技術。全書共8章,內容包括概述、大數據實驗環境搭建、網絡數據采集、分布式消息系統Kafka、日誌采集系統Flume、數據倉庫中的數據集成、ETL工具Kettle、使用pandas進行數據清洗。本書包含豐富的實踐操作和應用案例,以幫助讀者更好地學習和掌握數據采集與預處理的關鍵技術。
本書可以作為高等院校大數據專業的大數據課程教材,也可供相關技術人員參考。
作者簡介
林子雨,男,博士,國內高校知名大數據教師,廈門大學計算機科學與技術系副教授,廈門大學數據庫實驗室負責人,中國計算機學會數據庫專委會委員,中國計算機學會信息系統專委會委員,入選“2021年高校計算機專業優秀教師獎勵計劃”,榮獲“2022年福建省高等教育教學成果獎特等獎(個人排名第一)”和“2018年福建省高等教育教學成果獎二等獎(個人排名第一)”,編著出版12本大數據系列教材,被國內500多所高校采用,建設了國內高校首個大數據課程公共服務平臺,平臺累計網絡訪問量超過2300萬次,成為全國高校大數據教學知名品牌,主持的課程《大數據技術原理與應用》獲評“2018年國家精品在線開放課程”和“2020年國家級線上一流本科課程”,主持的課程《Spark編程基礎》獲評“2021年國家級線上一流本科課程”。
目錄大綱
第1章 概述 1
1.1 數據 1
1.1.1 數據的概念 1
1.1.2 數據的類型 2
1.1.3 數據的組織形式 2
1.1.4 數據的價值 2
1.1.5 數據爆炸 3
1.2 數據分析過程 3
1.3 數據采集與預處理的任務 4
1.4 數據采集 5
1.4.1 數據采集的概念 5
1.4.2 數據采集的三大要點 5
1.4.3 數據采集的數據源 6
1.4.4 數據采集方法 7
1.5 數據清洗 8
1.5.1 數據清洗的應用領域 8
1.5.2 數據清洗的實現方式 8
1.5.3 數據清洗的內容 9
1.5.4 數據清洗的註意事項 9
1.5.5 數據清洗的基本流程 10
1.5.6 數據清洗的評價標準 10
1.6 數據集成 11
1.7 數據轉換 11
1.7.1 數據轉換策略 11
1.7.2 平滑處理 12
1.7.3 規範化處理 13
1.8 數據歸約 14
1.9 數據脫敏 16
1.9.1 數據脫敏原則 16
1.9.2 數據脫敏方法 16
1.10 本章小結 17
1.11 習題 17
第2章 大數據實驗環境搭建 19
2.1 Linux操作系統的安裝和使用 19
2.1.1 下載安裝文件 19
2.1.2 Linux操作系統的安裝方式 20
2.1.3 安裝Linux虛擬機 20
2.1.4 創建hadoop用戶 29
2.1.5 在Windows操作系統和Linux虛擬機之間互相復制文件 29
2.1.6 使用FTP實現Windows和Linux之間的文件傳輸 31
2.1.7 vim編輯器的安裝和使用 33
2.1.8 設置中文輸入法 34
2.1.9 常用的Linux命令 36
2.1.10 文件解壓 36
2.1.11 目錄的權限 37
2.1.12 更新APT 37
2.1.13 Linux操作系統的一些使用技巧 37
2.2 Python的安裝和使用 37
2.2.1 Python簡介 38
2.2.2 Python的安裝 39
2.2.3 Python的基本使用方法 39
2.2.4 Python基礎語法知識 40
2.2.5 Python第三方模塊的安裝 43
2.3 JDK的安裝 44
2.4 Hadoop的安裝和使用 45
2.4.1 Hadoop簡介 45
2.4.2 安裝Hadoop前的準備工作 46
2.4.3 安裝Hadoop的3種模式 48
2.4.4 下載Hadoop安裝文件 48
2.4.5 偽分布式模式配置 48
2.4.6 分布式文件系統HDFS 51
2.4.7 HDFS的基本使用方法 52
2.5 MySQL數據庫的安裝和使用 53
2.5.1 關系數據庫 53
2.5.2 關系數據庫標準語言SQL 55
2.5.3 安裝MySQL 57
2.5.4 MySQL數據庫的使用方法 58
2.5.5 使用Python操作MySQL數據庫 59
2.6 MongoDB的安裝和使用 63
2.6.1 MongoDB簡介 63
2.6.2 安裝MongoDB 6.0 63
2.6.3 MongoDB基礎操作 65
2.6.4 使用Python操作MongoDB 67
2.7 Redis的安裝和使用 69
2.7.1 Redis簡介 69
2.7.2 安裝Redis 69
2.7.3 Redis操作實例 70
2.7.4 使用Python操作Redis數據庫 72
2.8 本章小結 73
2.9 習題 73
實驗1 熟悉MySQL和HDFS的操作 73
第3章 網絡數據采集 76
3.1 網絡爬蟲概述 76
3.1.1 網絡爬蟲的定義及工作原理 76
3.1.2 網絡爬蟲的類型 77
3.1.3 反爬蟲機制 77
3.1.4 爬取策略制訂 79
3.2 網頁基礎知識 80
3.2.1 超文本和HTML 80
3.2.2 HTTP 80
3.3 用Python實現HTTP請求 81
3.3.1 urllib模塊 81
3.3.2 urllib3模塊 82
3.3.3 requests模塊 82
3.4 定制requests 83
3.4.1 傳遞URL參數 83
3.4.2 定制請求頭 84
3.4.3 網絡超時處理 84
3.5 解析網頁 85
3.5.1 BeautifulSoup簡介 85
3.5.2 BeautifulSoup四大對象 86
3.5.3 遍歷文檔樹 88
3.5.4 搜索文檔樹 92
3.5.5 CSS選擇器 95
3.6 綜合實例 96
3.6.1 實例1:采集網頁數據保存到文本文件 96
3.6.2 實例2:采集網頁數據保存到MySQL數據庫 99
3.6.3 實例3:采集網頁數據保存到MongoDB數據庫 101
3.6.4 實例4:采集網頁數據保存到Redis數據庫 102
3.7 Scrapy框架 104
3.7.1 Scrapy框架概述 104
3.7.2 XPath語言 105
3.7.3 Scrapy框架應用實例 109
3.8 通過JSON接口爬取網站數據 115
3.8.1 為什麼選擇JSON接口 115
3.8.2 通過JSON接口爬取數據的步驟 116
3.8.3 實例 116
3.9 本章小結 118
3.10 習題 119
實驗2 網絡爬蟲初級實踐 119
第4章 分布式消息系統Kafka 121
4.1 Kafka簡介 121
4.1.1 Kafka的特性 121
4.1.2 Kafka的主要應用場景 122
4.1.3 Kafka的消息傳遞模式 122
4.2 Kafka在大數據生態系統中的作用 123
4.3 Kafka和Flume的區別與聯系 124
4.4 Kafka相關概念 124
4.5 Kafka的安裝和使用 125
4.5.1 安裝Kafka 125
4.5.2 使用Kafka 126
4.6 使用Python操作Kafka 127
4.7 Kafka與MySQL的組合使用 130
4.8 Kafka采集數據保存到MongoDB中 132
4.8.1 任務描述 132
4.8.2 實現代碼 132
4.8.3 執行過程 133
4.9 本章小結 133
4.10 習題 133
實驗3 熟悉Kafka的基本使用方法 134
第5章 日誌采集系統Flume 136
5.1 Flume簡介 136
5.2 Flume的安裝和使用 137
5.2.1 Flume的安裝 137
5.2.2 Flume的使用 138
5.3 Flume和Kafka的組合使用 139
5.3.1 Flume采集NetCat數據到
Kafka 139
5.3.2 Flume采集文件數據到Kafka 141
5.3.3 Flume采集MySQL數據庫中的數據到Kafka 143
5.4 采集日誌文件到HDFS 145
5.4.1 采集目錄到HDFS 145
5.4.2 采集文件到HDFS 147
5.5 采集MySQL數據庫中的數據到HDFS 148
5.5.1 準備工作 149
5.5.2 創建MySQL數據庫 149
5.5.3 配置和啟動Flume 149
5.6 Flume多數據源應用實例 151
5.6.1 方案設計 151
5.6.2 配置Flume 152
5.6.3 執行過程 154
5.7 本章小結 154
5.8 習題 155
實驗4 熟悉Flume的基本使用方法 155
第6章 數據倉庫中的數據集成 157
6.1 數據倉庫的概念 157
6.1.1 傳統的數據倉庫 157
6.1.2 實時主動數據倉庫 158
6.2 數據集成 159
6.2.1 數據集成方式 159
6.2.2 數據分發方式 160
6.2.3 數據集成技術 160
6.3 ETL 161
6.3.1 ETL簡介 161
6.3.2 ETL基本模塊 162
6.3.3 ETL模式 163
6.3.4 ETL工具 164
6.4 CDC 165
6.4.1 CDC的特性 165
6.4.2 CDC的組成 166
6.4.3 CDC的具體應用場景 166
6.4.4 對於CDC需要思考和重視的問題 167
6.5 本章小結 168
6.6 習題 168
第7章 ETL工具Kettle 169
7.1 Kettle的基本概念 169
7.2 Kettle的基本功能 170
7.3 安裝Kettle 172
7.4 數據抽取 174
7.4.1 把文本文件導入Excel文件 174
7.4.2 把文本文件導入MySQL數據庫 179
7.4.3 把Excel文件導入MySQL數據庫 183
7.5 數據清洗與轉換 186
7.5.1 使用Kettle實現數據排序 187
7.5.2 在Kettle中用正則表達式清洗數據 189
7.5.3 使用Kettle去除缺失值記錄 192
7.5.4 使用Kettle轉化MySQL數據庫中的數據 197
7.6 數據加載 203
7.6.1 把本地文件加載到HDFS中 203
7.6.2 把HDFS文件加載到MySQL數據庫中 208
7.7 本章小結 212
7.8 習題 212
實驗5 熟悉Kettle的基本使用方法 212
第8章 使用Pandas進行數據清洗 215
8.1 NumPy的基本使用方法 215
8.1.1 數組創建 215
8.1.2 數組索引和切片 217
8.1.3 數組運算 218
8.1.4 數組對象的常用函數 218
8.2 Pandas的數據結構 221
8.2.1 Series 221
8.2.2 DataFrame 224
8.2.3 索引對象 228
8.3 Pandas導入導出數據 229
8.3.1 導入與導出Excel文件 229
8.3.2 導入與導出CSV文件 230
8.3.3 導入與導出TXT文件 231
8.3.4 將數據導入與導出MySQL數據庫 231
8.4 Pandas的基本功能 233
8.4.1 數據拆分與合並 233
8.4.2 重新索引 237
8.4.3 丟棄指定軸上的項 239
8.4.4 索引、選取和過濾 240
8.4.5 算術運算 241
8.4.6 DataFrame和Series之間的運算 241
8.4.7 函數應用和映射 242
8.4.8 排序和排名 243
8.4.9 分組 246
8.4.10 其他常用函數 248
8.5 匯總和描述統計 251
8.5.1 與描述統計相關的函數 251
8.5.2 唯一值、值計數及成員資格 253
8.6 處理缺失數據 254
8.6.1 檢查缺失值 255
8.6.2 清理/填充缺失值 255
8.6.3 排除缺少的值 256
8.7 清洗格式內容 257
8.7.1 刪除字符串中的空格 257
8.7.2 清洗大小寫混用 258
8.8 綜合實例 258
8.8.1 Matplotlib的使用方法 258
8.8.2 實例1:對食品數據集進行基本操作 261
8.8.3 實例2:對電影數據集進行清洗 262
8.8.4 實例3:百度搜索指數分析 263
8.8.5 示例4:B站數據分析 265
8.8.6 實例5:電影評分數據分析 270
8.8.7 實例6:App行為數據預處理 273
8.9 本章小結 281
8.10 習題 281
實驗6 Pandas數據清洗初級實踐 281
參考文獻 284