Hadoop 與大數據挖掘, 2/e

Hadoop 與大數據挖掘, 2/e

作者: 王哲 張良均 李國輝 盧軍 梁曉陽
出版社: 機械工業
出版在: 2022-07-01
ISBN-13: 9787111709473
ISBN-10: 7111709470
裝訂格式: 平裝
總頁數: 396 頁





內容描述


本書基於開源Hadoop生態圈的主流技術,深入淺出地介紹了大數據相關技術的原理、
知識點及具體應用,適合教師教學使用和零基礎自學者使用。
通過本書的學習,讀者可以理解大數據相關技術的原理,
迅速掌握大數據技術的操作,為後續數據挖掘與分佈式計算平台的結合使用打下良好的技術基礎。


目錄大綱


前言
第一部分基礎篇
第1章淺談大數據 2
1.1 大數據產生的背景 2
1.1.1 信息化浪潮 2
1.1.2 信息技術變革 3
1.1.3 數據生產方式變革 4
1.1.4 大數據的發展歷程 5
1.1.5 大數據時代的挑戰 6
1.1.6 大數據時代面臨的機遇 7
1.2 大數據概述 7
1.2.1 大數據的概念 8
1.2.2 大數據的特徵 8
1.2.3 大數據的影響 8
1.2.4 大數據與互聯網、雲計算的關係 11
1.3 大數據挖掘概述 11
1.3.1 數據挖掘的概念 11
1.3.2 大數據環境下的數據挖掘 12
1.3.3 數據挖掘的過程 12
1.3.4 數據挖掘常用工具 13
1.4 大數據平台 14
1.5 小結 15
第2章大數據基礎架構Hadoop——實現大數據分佈式存儲與計算 16
2.1 Hadoop技術概述 16
2.1.1 Hadoop的發展歷史 16
2.1.2 Hadoop的特點 17
2.1.3 Hadoop存儲框架—HDFS 18
2.1.4 Hadoop計算引擎—MapReduce 20
2.1.5 Hadoop資源管理器—YARN 21
2.2 Hadoop應用場景介紹 23
2.3 Hadoop生態系統 23
2.4 Hadoop安裝配置 24
2.4.1 創建Linux虛擬機 25
2.4.2 設置固定IP 33
2.4.3 遠程連接虛擬機 35
2.4.4 配置本地yum源及安裝常用軟件 38
2.4.5 在Linux下安裝Java 42
2.4.6 修改配置文件 43
2.4.7 克隆虛擬機 48
2.4.8 配置SSH免密登錄 50
2.4.9 配置時間同步服務 51
2.4.10 啟動關閉集群 53
2.5 Hadoop HDFS文件操作命令 54
2.5.1 創建目錄 54
2.5.2 上傳和下載文件 55
2.5.3 查看文件內容 56
2.5.4 刪除文件或目錄 56
2.6 Hadoop MapReduce編程開發 57
2.6.1 使用IDEA搭建MapReduce開發環境 57
2.6.2 通過詞頻統計了解MapReduce執行流程 67
2.6.3 通過源碼認識MapReduce編程 68
2.7 場景應用:電影網站用戶影評分析 74
2.7.1 了解數據字段並分析需求 74
2.7.2 多維度分析用戶影評 76
2.8 小結 91
第3章數據倉庫Hive——實現大數據查詢與處理 92
3.1 Hive技術概述 92
3.1.1 Hive簡介 92
3.1.2 Hive的特點 93
3.1.3 Hive的架構 93
3.2 Hive應用場景介紹 94
3.3 Hive安裝配置 95
3.3.1 配置MySQL數據庫 95
3.3.2 配置Hive數據倉庫 96
3.4 HiveQL查詢語句 99
3.4.1 Hive的基礎數據類型 99
3.4.2 創建與管理數據庫 100
3.4.3 創建與管理數據表 101
3.4.4 Hive表的數據裝載 108
3.4.5 掌握select查詢 111
3.4.6 了解運算符的使用 112
3.4.7 掌握Hive內置函數 115
3.5 Hive自定義函數的使用 120
3.5.1 了解Hive自定義函數 120
3.5.2 自定義UDF 121
3.5.3 自定義UDAF 124
3.5.4 自定義UDTF 127
3.6 場景應用:基站掉話率排名統計 129
3.6.1 創建基站數據表並導入數據 130
3.6.2 統計基站掉話率 130
3.7 小結 132
第4章分佈式協調框架ZooKeeper——實現應用程序分佈式協調服務 133
4.1 ZooKeeper技術概述 133
4.1.1 ZooKeeper簡介 133
4.1.2 ZooKeeper的特點 135
4.2 ZooKeeper應用場景介紹 135
4.3 ZooKeeper分佈式安裝配置 136
4.4 ZooKeeper客戶端常用命令 138
4.4.1 創建znode 138
4.4.2 獲取znode數據 138
4.4.3 監視znode 139
4.4.4 刪除znode 140
4.4.5 設置znode權限 140
4.5 ZooKeeper Java API操作 142
4.5.1 創建IDEA工程並連接ZooKeeper 142
4.5.2 獲取、修改和刪除znode數據 143
4.6 場景應用:服務器上下線動態監控 146
4.7 小結 149
第5章分佈式數據庫HBase——實現大數據存儲與快速查詢 151
5.1 HBase技術概述 151
5.1.1 HBase的發展歷程 151
5.1.2 HBase的特點 152
5.1.3 HBase的核心功能模塊 153
5.1.4 HBase的數據模型 155
5.1.5 設計表結構的原則 155
5.2 HBase應用場景介紹 156
5.3 HBase安裝配置 157
5.4 HBase Shell操作 159
5.4.1 創建與刪除表 159
5.4.2 插入數據 161
5.4.3 查詢數據 162
5.4.4 刪除數據 163
5.4.5 掃描全表 163
5.4.6 按時間版本查詢記錄 164
5.5 HBase高級應用 165
5.5.1 IDEA開發環境搭建 165
5.5.2 HBase Java API使用 169
5.5.3 HBase與MapReduce交互 174
5.6 場景應用:用戶通話記錄數據存儲設計及查詢 180
5.6.1 設計通話記錄數據結構 180
5.6.2 查詢用戶通話記錄 181
5.7 小結 187
第6章分佈式計算框架Spark——實現大數據分析與挖掘 189
6.1 Spark技術概述 189
6.1.1 Spark的發展歷史 189
6.1.2 Spark的特點 190
6.1.3 Spark生態圈 191
6.2 Spark應用場景介紹 192
6.3 Spark集群安裝配置 192
6.4 Spark Core—底層基礎框架 196
6.4.1 Spark集群架構 196
6.4.2 Spark作業運行模式 197
6.4.3 彈性分佈式數據集RDD 199
6.4.4 RDD算子基礎操作 200
6.4.5 場景應用:房屋銷售數據分析 201
6.5 Spark SQL—查詢引擎框架 205
6.5.1 Spark SQL概述 205
6.5.2 DataFrame基礎操作 205
6.5.3 場景應用:廣告流量作弊識別探索分析 220
6.6 Spark MLlib—機器學習庫 225
6.6.1 Spark MLlib概述 225
6.6.2 MLlib數據類型 226
6.6.3 MLlib常用算法包 226
6.6.4 場景應用:超市客戶聚類分析 240
6.7 Spark Streaming—流計算框架 247
6.7.1 Spark Streaming概述 247
6.7.2 Spark Streaming運行原理 248
6.7.3 DStream編程模型 248
6.7.4 DStream基礎操作 249
6.7.5 場景應用:熱門博文實時 258
6.8 小結 264
第7章大數據採集框架Flume——實現日誌數據實時採集 265
7.1 Flume技術概述 265
7.1.1 Flume的發展歷程 265
7.1.2 Flume的基本思想與特性 266
7.1.3 Flume的基本架構 266
7.1.4 Flume的核心概念 267
7.1.5 Flume Agent的核心組件 267
7.2 Flume應用場景介紹 268
7.3 Flume安裝與配置 268
7.3.1 Flume的安裝 269
7.3.2 Flume運行測試 270
7.4 Flume核心組件的常見類型及參數配置 270
7.5 Flume採集方案設計與實踐 272
7.5.1 將採集的數據緩存在內存中 272
7.5.2 將採集的數據緩存在磁盤中 275
7.5.3 採集監控目錄的數據 277
7.5.4 採集端口數據並存儲至HDFS路徑 278
7.5.5 採集本地文件數據並存儲至HDFS路徑 281
7.5.6 時間戳攔截器 283
7.5.7 正則過濾攔截器 286
7.5.8 Channel選擇器 288
7.6 場景應用:廣告日誌數據採集系統 291
7.6.1 廣告系統日誌數據採集 292
7.6.2 廣告曝光日誌數據採集 293
7.7 小結 296
第8章消息訂閱系統Kafka——實現大數據實時傳輸 298
8.1 Kafka技術概述 298
8.1.1 Kafka的概念 298
8.1.2 Kafka的基本框架 299
8.1.3 Kafka的優勢 300
8.2 Kafka應用場景介紹 300
8.3 Kafka集群的安裝 301
8.4 Kafka的基礎操作 303
8.4.1 Kafka操作的基本參數 303
8.4.2 Kafka單代理操作 304
8.4.3 Kafka多代理操作 305
8.5 Kafka Java API的使用 307
8.5.1 Kafka Producer API 308
8.5.2 Kafka Consumer API 312
8.5.3 Kafka Producer與Consumer API結合使用 314
8.6 場景應用:廣告日誌數據實時傳輸 317
8.6.1 創建腳本文件 317
8.6.2 創建Kafka主題 319
8.6.3 Flume採集日誌 320
8.7 小結 321
第二部分實戰篇
第9章圖書熱度實時分析系統 324
9.1 背景與目標 324
9.2 創建IDEA項目並添加依賴 325
9.3 圖書數據採集 326
9.3.1 準備數據並啟動組件 327
9.3.2 創建topic並啟動Consumer 327
9.3.3 替換與添加庫依賴 327
9.3.4 編寫Flume配置文件 328
9.3.5 編寫腳本定時採集數據 329
9.3.6 運行Flume配置文件 330
9.3.7 編寫Spark Streaming代碼 331
9.4 圖書熱度指標構建 332
9.4.1 計算用戶評分次數及平均評分 332
9.4.2 計算圖書被評分次數及平均評分 333
9.5 圖書熱度實時計算 335
9.6 圖書熱度實時分析過程的完整實現 336
9.7 小結 338
第10章O2O優惠券個性化投放 339
10.1 背景與目標 339
10.1.1 案例背景 339
10.1.2 數據說明及存儲 340
10.1.3 案例目標 341
10.2 數據探索及預處理 342
10.2.1 數據探索 343
10.2.2 數據預處理 350
10.3 多維度指標構建 351
10.4 模型構建 355
10.4.1 決策樹分類模型 355
10.4.2 梯度提升分類模型 356
10.4.3 XGBoost分類模型 357
10.5 模型評價 358
10.6 O2O平台營銷手段和策略分析 360
10.6.1 用戶分級 360
10.6.2 優惠券分級 360
10.6.3 商戶分級 360
10.7 小結 361
第11章消費者人群畫像——信用智能評分 362
11.1 背景與目標 362
11.2 數據探索 362
11.2.1 數據集說明 363
11.2.2 字段分析 364
11.3 數據預處理 369
11.3.1 用戶年齡處理 369
11.3.2 用戶話費敏感度處理 369
11.3.3 應用使用次數偏差值剔除 370
11.4 消費者信用特徵關聯 371
11.4.1 Pearson相關係數 372
11.4.2 構建關聯特徵 373
11.5 模型構建 376
11.5.1 隨機森林及梯度提升樹算法簡介 376
11.5.2 模型構建與評估 377
11.6 模型加載應用 380
11.7 小結 381




相關書籍

Full Stack JavaScript: Learn Backbone.js, Node.js, and MongoDB

作者 Azat Mardan

2022-07-01

微服務分佈式架構基礎與實戰——基於SpringBoot+SpringCloud

作者 張方興

2022-07-01

Mobile JavaScript Application Development: Bringing Web Programming to Mobile Devices (Paperback)

作者 Adrian Kosmaczewski

2022-07-01