Hadoop大數(shù)據(jù)實戰(zhàn)權威指南(第2版)
定 價:79 元
叢書名:大數(shù)據(jù)科學與應用叢書
- 作者:黃東軍
- 出版時間:2019/9/1
- ISBN:9787121370335
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274-62
- 頁碼:320
- 紙張:
- 版次:01
- 開本:16開
基于"深入分析組件原理、充分展示搭建過程、詳細指導應用開發(fā)”的理念,以最新版Hadoop及其生態(tài)組件為對象,采用理論與應用高度融合的方法,介紹大數(shù)據(jù)的概念、技術、方法、應用、以及項目開發(fā)。全書分為三篇,第一篇為大數(shù)據(jù)的基本概念和技術綜述,第二篇為平臺搭建與基本應用,內(nèi)容設計Linux、HDFS、MapReduce、Yarn、Hive、HBase、Sqoop、Kafka、Spark、Phoenix等;第三篇為數(shù)據(jù)處理與項目開發(fā),綜合運用各類組件進行實際數(shù)據(jù)處理,包括交互式應用、決策、推薦算法、銷售數(shù)據(jù)分析系統(tǒng)等。
黃東軍,男,教授,博士,博士生導師。畢業(yè)于中南大學計算機應用技術,先工作于中南大學信息科學與工程學院。中國計算機學會高級會員,教育部計算機科學與技術專業(yè)教學指導委員會"物聯(lián)網(wǎng)工程專業(yè)教學研究專家組”成員。
目 錄
第一篇 大數(shù)據(jù)的基本概念和技術 1
第1章 緒論 3
1.1 大數(shù)據(jù)的時代背景 3
1.1.1 全球大數(shù)據(jù)浪潮 3
1.1.2 我國的大數(shù)據(jù)戰(zhàn)略 5
1.2 大數(shù)據(jù)的基本概念和特征 6
1.2.1 基本概念 6
1.2.2 基本特征 7
1.3 大數(shù)據(jù)系統(tǒng)的技術支撐體系 7
1.3.1 技術支撐體系概覽 7
1.3.2 大數(shù)據(jù)系統(tǒng)的采集層 8
1.3.3 大數(shù)據(jù)系統(tǒng)的存儲層 9
1.3.4 大數(shù)據(jù)系統(tǒng)的分析層 9
1.3.5 大數(shù)據(jù)系統(tǒng)的應用層 9
1.3.6 大數(shù)據(jù)系統(tǒng)的垂直層 10
1.4 大數(shù)據(jù)領域的主要職位及其能力要求 11
1.4.1 首席數(shù)據(jù)官 11
1.4.2 數(shù)據(jù)科學家 11
1.4.3 大數(shù)據(jù)開發(fā)工程師 12
1.4.4 大數(shù)據(jù)運維工程師 13
1.5 本章小結 13
第2章 Hadoop大數(shù)據(jù)關鍵技術 15
2.1 Hadoop大數(shù)據(jù)應用生態(tài)系統(tǒng) 15
2.1.1 架構的基本理論 15
2.1.2 Hadoop大數(shù)據(jù)應用生態(tài)系統(tǒng)的主要組件及其關系 16
2.2 大數(shù)據(jù)采集技術 19
2.2.1 結構化數(shù)據(jù)采集工具 19
2.2.2 日志收集工具與技術 20
2.3 大數(shù)據(jù)存儲技術 23
2.3.1 相關概念 23
2.3.2 分布式存儲系統(tǒng) 27
2.3.3 數(shù)據(jù)庫(HBase)與數(shù)據(jù)倉庫(Hive) 30
2.4 分布式計算框架 35
2.4.1 離線計算框架 35
2.4.2 實時流計算平臺 40
2.5 數(shù)據(jù)分析平臺與工具 45
2.5.1 面向大數(shù)據(jù)的數(shù)據(jù)挖掘與分析工具 45
2.5.2 機器學習 49
2.6 本章小結 52
第二篇 Hadoop大數(shù)據(jù)平臺搭建與基本應用 55
第3章 Linux操作系統(tǒng)與集群搭建 57
3.1 Linux操作系統(tǒng) 57
3.1.1 概述 57
3.1.2 特點 58
3.1.3 Linux操作系統(tǒng)的組成 59
3.2 Linux集群的搭建 62
3.2.1 安裝VMware Workstation 62
3.2.2 在VMware Workstation Pro 12上安裝Linux(CentOS 7) 65
3.3 集群的配置 77
3.3.1 設置主機名 77
3.3.2 網(wǎng)絡設置 79
3.3.3 關閉防火墻 83
3.3.4 安裝JDK 84
3.3.5 免密鑰登錄配置 87
3.4 Linux基本命令 89
3.5 本章小結 96
第4章 HDFS安裝與基本應用 97
4.1 HDFS概述 97
4.1.1 特點 97
4.1.2 主要組件與架構 97
4.2 HDFS架構分析 98
4.2.1 數(shù)據(jù)塊 98
4.2.2 NameNode 98
4.2.3 DataNode 99
4.2.4 SecondaryNameNode 100
4.2.5 數(shù)據(jù)備份 100
4.2.6 通信協(xié)議 101
4.2.7 可靠性保證 101
4.3 文件操作過程分析 101
4.3.1 讀文件 101
4.3.2 寫文件 102
4.3.3 刪除文件 103
4.4 Hadoop的安裝與配置 104
4.4.1 解壓Hadoop安裝包 104
4.4.2 配置Hadoop環(huán)境變量 105
4.4.3 配置Yarn環(huán)境變量 106
4.4.4 配置核心組件 106
4.4.5 配置文件系統(tǒng) 107
4.4.6 配置yarn site.xml文件 108
4.4.7 配置MapReduce計算框架文件 109
4.4.8 配置Master中的workers文件 111
4.4.9 將Master上的Hadoop復制到Slave 111
4.5 Hadoop集群的啟動 112
4.5.1 配置操作系統(tǒng)的環(huán)境變量 112
4.5.2 創(chuàng)建Hadoop數(shù)據(jù)目錄 113
4.5.3 格式化文件系統(tǒng) 113
4.5.4 啟動和關閉Hadoop 114
4.5.5 驗證Hadoop是否成功啟動 115
4.6 Hadoop集群的基本應用 117
4.6.1 HDFS基本命令 117
4.6.2 在Hadoop集群中運行程序 120
4.7 本章小結 122
第5章 MapReduce與Yarn 123
5.1 MapReduce程序的概念 123
5.1.1 基本編程模型 123
5.1.2 計算過程分析 124
5.2 深入理解Yarn 126
5.2.1 Yarn的基本架構 126
5.2.2 Yarn的工作流程 130
5.3 在Linux平臺安裝Eclipse 130
5.3.1 Eclipse簡介 130
5.3.2 安裝并啟動Eclipse 131
5.4 開發(fā)MapReduce程序的基本方法 133
5.4.1 為Eclipse安裝Hadoop插件 133
5.4.2 WordCount:第一個MapReduce程序 137
5.5 本章小結 150
第6章 Hive和HBase的安裝與應用 151
6.1 在CentOS 7下安裝MySQL 151
6.1.1 下載或復制MySQL安裝包 151
6.1.2 執(zhí)行安裝命令 152
6.1.3 啟動MySQL 153
6.1.4 登錄MySQL 153
6.1.5 使用MySQL 154
6.1.6 問題與解決辦法 156
6.2 Hive安裝與應用 157
6.2.1 下載并解壓Hive安裝包 158
6.2.2 配置Hive 158
6.2.3 啟動并驗證Hive 161
6.2.4 Hive的基本應用 162
6.3 ZooKeeper集群安裝 163
6.3.1 ZooKeeper簡介 163
6.3.2 安裝ZooKeeper 164
6.3.3 配置ZooKeeper 165
6.3.4 啟動和測試 166
6.4 HBase的安裝與應用 168
6.4.1 解壓并安裝HBase 168
6.4.2 配置HBase 169
6.4.3 啟動并驗證HBase 171
6.4.4 HBase的基本應用 173
6.4.5 HBase應用中常見問題及其解決辦法 175
6.5 本章小結 176
第7章 Sqoop和Kafka的安裝與應用 177
7.1 安裝部署Sqoop 177
7.1.1 下載或復制Sqoop安裝包 177
7.1.2 解壓并安裝Sqoop 177
7.1.3 配置Sqoop 178
7.1.4 啟動并驗證Sqoop 180
7.1.5 測試Sqoop與MySQL的連接 180
7.2 安裝部署Kafka集群 182
7.2.1 下載或復制Kafka安裝包 182
7.2.2 解壓縮Kafka安裝包 182
7.2.3 配置Kafka集群 183
7.2.4 Kafka的初步應用 184
7.3 本章小結 188
第8章 Spark集群的安裝與開發(fā)環(huán)境的配置 189
8.1 深入理解Spark 189
8.1.1 Spark的系統(tǒng)架構 189
8.1.2 Spark的關鍵概念 191
8.2 Scala的安裝與配置 193
8.2.1 下載Scala安裝包 194
8.2.2 安裝Scala 194
8.2.3 啟動并應用Scala 195
8.3 Spark集群的安裝與配置 195
8.3.1 安裝模式 195
8.3.2 Spark的安裝 196
8.3.3 啟動并驗證Spark 198
8.3.4 幾點說明 202
8.4 IDEA開發(fā)環(huán)境的安裝與配置 203
8.4.1 IDEA簡介 203
8.4.2 IDEA的安裝 204
8.4.3 IDEA的配置 205
8.5 本章小結 208
第9章 Spark應用基礎 209
9.1 Spark應用程序的運行模式 209
9.1.1 Spark on Yarn-cluster- 209
9.1.2 Spark on Yarn-client 210
9.2 Spark的應用設計 211
9.2.1 分布式估算圓周率 211
9.2.2 基于Spark MLlib的貸款風險預測 226
9.3 本章小結 242
第三篇 大數(shù)據(jù)處理與項目開發(fā) 243
第10章 交互式數(shù)據(jù)處理 245
10.1 數(shù)據(jù)預處理 245
10.1.1 查看數(shù)據(jù) 245
10.1.2 數(shù)據(jù)擴展 247
10.1.3 數(shù)據(jù)過濾 247
10.1.4 數(shù)據(jù)上傳 248
10.2 創(chuàng)建數(shù)據(jù)倉庫 249
10.2.1 創(chuàng)建Hive數(shù)據(jù)倉庫的基本命令 249
10.2.2 創(chuàng)建Hive分區(qū)表 251
10.3 數(shù)據(jù)分析 253
10.3.1 基本統(tǒng)計 253
10.3.2 用戶行為分析 254
10.3.3 實時數(shù)據(jù) 256
10.4 本章小結 256
第11章 協(xié)同過濾推薦系統(tǒng) 257
11.1 推薦算法概述 257
11.1.1 基于人口統(tǒng)計學的推薦 257
11.1.2 基于內(nèi)容的推薦 258
11.1.3 協(xié)同過濾推薦 258
11.2 協(xié)同過濾推薦算法分析 259
11.2.1 基于用戶的協(xié)同過濾推薦 259
11.2.2 基于物品的協(xié)同過濾推薦 261
11.3 Spark MLlib推薦算法應用 262
11.3.1 ALS算法原理 262
11.3.2 ALS的應用設計 264
11.4 本章小結 277
第12章 銷售數(shù)據(jù)分析系統(tǒng) 279
12.1 數(shù)據(jù)采集 279
12.1.1 在Windows平臺安裝JDK 279
12.1.2 在Windows平臺安裝Eclipse 281
12.1.3 將WebCollector項目導入Eclipse 282
12.1.4 在Windows平臺安裝MySQL 283
12.1.5 連接JDBC 286
12.1.6 運行爬蟲程序 286
12.2 在HBase集群上準備數(shù)據(jù) 287
12.2.1 將數(shù)據(jù)導入MySQL 287
12.2.2 將MySQL表中的數(shù)據(jù)導入HBase集群 289
12.3 安裝Phoenix中間件 291
12.3.1 Phoenix架構 291
12.3.2 解壓安裝Phoenix 293
12.3.3 Phoenix環(huán)境配置 293
12.3.4 使用Phoenix 294
12.4 基于Web的前端開發(fā) 298
12.4.1 將Web前端項目導入Eclipse 298
12.4.2 安裝Tomcat 300
12.4.3 在Eclipse中配置Tomcat 300
12.4.4 在Web瀏覽器中查看執(zhí)行結果 303
12.5 本章小結 305
參考文獻307