大數(shù)據(jù)Hadoop 3.X分布式處理實(shí)戰(zhàn)
定 價(jià):79 元
- 作者:吳章勇,楊強(qiáng) 著
- 出版時(shí)間:2020/4/1
- ISBN:9787115524669
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):TP274
- 頁(yè)碼:370
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
本書(shū)以實(shí)戰(zhàn)開(kāi)發(fā)為原則,以Hadoop 3.X生態(tài)系統(tǒng)內(nèi)的主要大數(shù)據(jù)工具整合應(yīng)用及項(xiàng)目開(kāi)發(fā)為主線,通過(guò)Hadoop大數(shù)據(jù)開(kāi)發(fā)中常見(jiàn)的11個(gè)典型模塊和3個(gè)完整項(xiàng)目案例,詳細(xì)介紹HDFS、MapReduce、HBase、Hive、Sqoop、Spark等主流大數(shù)據(jù)工具的整合使用。本書(shū)附帶資源包括本書(shū)核心內(nèi)容的教學(xué)視頻,本書(shū)所涉及的源代碼、參考資料等。
全書(shū)共14章,分為3篇,涵蓋的主要內(nèi)容有Hadoop及其生態(tài)組件偽分布式安裝和完全分布式安裝、分布式文件系統(tǒng)HDFS、分布式計(jì)算框架MapReduce、NoSQL數(shù)據(jù)庫(kù)HBase、分布式數(shù)據(jù)倉(cāng)庫(kù)Hive、數(shù)據(jù)轉(zhuǎn)換工具Sqoop、內(nèi)存計(jì)算框架Spark、海量Web日志分析系統(tǒng)、電商商品推薦系統(tǒng)、分布式垃圾消息識(shí)別系統(tǒng)等。
本書(shū)內(nèi)容豐富、案例典型、實(shí)用性強(qiáng),適合各個(gè)層次希望學(xué)習(xí)大數(shù)據(jù)開(kāi)發(fā)技術(shù)的人員閱讀,尤其適合有一定Java 基礎(chǔ)而要進(jìn)行Hadoop應(yīng)用開(kāi)發(fā)的人員閱讀。
1.版本新。本書(shū)采用Hadoop3,版本較新,幫助讀者學(xué)習(xí)前沿技術(shù)。
2.項(xiàng)目大。深度剖析日志分析、推薦系統(tǒng)、垃圾消息三大企業(yè)級(jí)項(xiàng)目實(shí)戰(zhàn)案例。讀者稍加改造,即可在生產(chǎn)環(huán)境中使用。
3.內(nèi)容全。詳細(xì)介紹HDFS、MapReduce、HBase、Hive、Sqoop、Spark 等主流大數(shù)據(jù)工具。
4.資源多。贈(zèng)送12小時(shí)視頻講解和全書(shū)配套范例源碼。
5.在線答疑。本書(shū)提供答疑球球群,在線答疑。群號(hào):243363382。
吳章勇,現(xiàn)任中軟國(guó)際分公司技術(shù)總監(jiān),曾任阿里巴巴集團(tuán)架構(gòu)師,持有信息系統(tǒng)項(xiàng)目管理師高級(jí)證書(shū);為培訓(xùn)公司策劃大數(shù)據(jù)課程體系,主持開(kāi)發(fā)過(guò)多個(gè)大數(shù)據(jù)項(xiàng)目,有15年以上開(kāi)發(fā)和培訓(xùn)經(jīng)驗(yàn);錄制過(guò)《Hadoop大數(shù)據(jù)技術(shù)》等經(jīng)典在線教育視頻課程。
楊強(qiáng),現(xiàn)任中軟國(guó)際項(xiàng)目總監(jiān),中軟國(guó)際ETC CTO辦公室高級(jí)技術(shù)顧問(wèn),移動(dòng)增值數(shù)據(jù)服務(wù)項(xiàng)目經(jīng)理,擁有10年大型軟件項(xiàng)目開(kāi)發(fā)及培訓(xùn)經(jīng)驗(yàn),對(duì)分布式及異構(gòu)系統(tǒng)集成
有深入研究。參與主持多個(gè)大型項(xiàng)目并發(fā)表多篇重要論文。
目 錄
第一篇 Hadoop技術(shù) 1
第1章 大數(shù)據(jù)與Hadoop概述 03
1.1 大數(shù)據(jù)概述 03
1.1.1 大數(shù)據(jù)的定義 03
1.1.2 大數(shù)據(jù)行業(yè)的發(fā)展 04
1.1.3 大數(shù)據(jù)的典型應(yīng)用 04
1.2 Hadoop概述 06
1.2.1 Hadoop簡(jiǎn)介 06
1.2.2 Hadoop生態(tài)子項(xiàng)目 07
1.2.3 Hadoop 3.X的新特性 09
1.3 小結(jié) 09
1.4 配套視頻 10
第2章 Hadoop偽分布式安裝 11
2.1 Hadoop偽分布式安裝前的準(zhǔn)備 11
2.1.1 安裝VMware 11
2.1.2 安裝CentOS 7 12
2.1.3 配置CentOS 7:接受協(xié)議 15
2.1.4 配置CentOS 7:登錄系統(tǒng) 16
2.1.5 配置CentOS 7:設(shè)置IP 16
2.1.6 配置CentOS 7:修改主機(jī)名 17
2.1.7 配置CentOS 7:配置hosts文件 18
2.1.8 配置CentOS 7:關(guān)閉防火墻 18
2.1.9 配置CentOS 7:禁用selinux 19
2.1.10 配置CentOS 7:設(shè)置SSH免密碼登錄 19
2.1.11 配置CentOS 7:重啟 20
2.2 Hadoop偽分布式安裝 21
2.2.1 安裝WinSCP 21
2.2.2 安裝PieTTY 22
2.2.3 安裝JDK 23
2.2.4 安裝Hadoop 24
2.3 Hadoop驗(yàn)證 28
2.3.1 格式化 28
2.3.2 啟動(dòng)Hadoop 29
2.3.3 查看Hadoop相關(guān)進(jìn)程 29
2.3.4 瀏覽文件 30
2.3.5 瀏覽器訪問(wèn) 30
2.4 小結(jié) 31
2.5 配套視頻 31
第3章 Hadoop分布式文件系統(tǒng)——HDFS 32
3.1 HDFS原理 32
3.1.1 HDFS的假設(shè)前提和設(shè)計(jì)目標(biāo) 32
3.1.2 HDFS的組件 33
3.1.3 HDFS數(shù)據(jù)復(fù)制 36
3.1.4 HDFS健壯性 36
3.1.5 HDFS數(shù)據(jù)組織 38
3.2 HDFS Shell 39
3.2.1 Hadoop文件操作命令 39
3.2.2 Hadoop系統(tǒng)管理命令 44
3.3 HDFS Java API 46
3.3.1 搭建Linux下Eclipse開(kāi)發(fā)環(huán)境 46
3.3.2 為Eclipse安裝Hadoop插件 47
3.3.3 HDFS Java API示例 49
3.4 小結(jié) 56
3.5 配套視頻 56
第4章 分布式計(jì)算框架MapReduce 57
4.1 MapReduce原理 57
4.1.1 MapReduce概述 57
4.1.2 MapReduce的主要功能 59
4.1.3 MapReduce的處理流程 59
4.2 MapReduce編程基礎(chǔ) 61
4.2.1 內(nèi)置數(shù)據(jù)類(lèi)型介紹 61
4.2.2 WordCount入門(mén)示例 63
4.2.3 MapReduce分區(qū)與自定義數(shù)據(jù)類(lèi)型 67
4.3 MapReduce綜合實(shí)例——數(shù)據(jù)去重 71
4.3.1 實(shí)例描述 71
4.3.2 設(shè)計(jì)思路 72
4.3.3 程序代碼 73
4.3.4 運(yùn)行結(jié)果 74
4.4 MapReduce綜合實(shí)例——數(shù)據(jù)排序 75
4.4.1 實(shí)例描述 75
4.4.2 設(shè)計(jì)思路 76
4.4.3 程序代碼 77
4.4.4 運(yùn)行結(jié)果 79
4.5 MapReduce綜合實(shí)例——求學(xué)生平均成績(jī) 79
4.5.1 實(shí)例描述 79
4.5.2 設(shè)計(jì)思路 80
4.5.3 程序代碼 81
4.5.4 運(yùn)行結(jié)果 83
4.6 MapReduce綜合實(shí)例——WordCount高級(jí)示例 84
4.7 小結(jié) 87
4.8 配套視頻 87
第二篇 Hadoop 生態(tài)系統(tǒng)的主要大數(shù)據(jù)工具整合應(yīng)用 89
第5章 NoSQL數(shù)據(jù)庫(kù)HBase 91
5.1 HBase原理 91
5.1.1 HBase概述 91
5.1.2 HBase核心概念 92
5.1.3 HBase的關(guān)鍵流程 95
5.2 HBase偽分布式安裝 97
5.2.1 安裝HBase的前提條件 98
5.2.2 解壓并配置環(huán)境變量 98
5.2.3 配置HBase參數(shù) 99
5.2.4 驗(yàn)證HBase 100
5.3 HBase Shell 103
5.3.1 HBase Shell常用命令 103
5.3.2 HBase Shell綜合示例 109
5.3.3 HBase Shell的全部命令 112
5.4 小結(jié) 114
5.5 配套視頻 114
第6章 HBase高級(jí)特性 115
6.1 HBase Java API 115
6.1.1 HBase Java API介紹 115
6.1.2 HBase Java API示例 120
6.2 HBase與MapReduce的整合 130
6.2.1 HBase與MapReduce的整合概述 130
6.2.2 HBase與MapReduce的整合示例 130
6.3 小結(jié) 134
6.4 配套視頻 134
第7章 分布式數(shù)據(jù)倉(cāng)庫(kù)Hive 135
7.1 Hive概述 135
7.1.1 Hive的定義 135
7.1.2 Hive的設(shè)計(jì)特征 136
7.1.3 Hive的體系結(jié)構(gòu) 136
7.2 Hive偽分布式安裝 137
7.2.1 安裝Hive的前提條件 137
7.2.2 解壓并配置環(huán)境變量 138
7.2.3 安裝MySQL 139
7.2.4 配置Hive 143
7.2.5 驗(yàn)證Hive 145
7.3 Hive QL的基礎(chǔ)功能 146
7.3.1 操作數(shù)據(jù)庫(kù) 146
7.3.2 創(chuàng)建表 147
7.3.3 數(shù)據(jù)準(zhǔn)備 150
7.4 Hive QL的高級(jí)功能 153
7.4.1 select查詢(xún) 154
7.4.2 函數(shù) 154
7.4.3 統(tǒng)計(jì)函數(shù) 154
7.4.4 distinct去除重復(fù)值 155
7.4.5 limit限制返回記錄的條數(shù) 156
7.4.6 為列名取別名 156
7.4.7 case when then多路分支 156
7.4.8 like模糊查詢(xún) 157
7.4.9 group by分組統(tǒng)計(jì) 157
7.4.10 having過(guò)濾分組統(tǒng)計(jì)結(jié)果 157
7.4.11 inner join內(nèi)聯(lián)接 158
7.4.12 left outer join和right outer join外聯(lián)接 159
7.4.13 full outer join外部聯(lián)接 159
7.4.14 order by排序 160
7.4.15 where查找 160
7.5 小結(jié) 161
7.6 配套視頻 162
第8章 Hive高級(jí)特性 163
8.1 Beeline 163
8.1.1 使用Beeline的前提條件 163
8.1.2 Beeline的基本操作 164
8.1.3 Beeline的參數(shù)選項(xiàng)與管理命令 166
8.2 Hive JDBC 167
8.2.1 運(yùn)行Hive JDBC的前提條件 167
8.2.2 Hive JDBC基礎(chǔ)示例 167
8.2.3 Hive JDBC綜合示例 169
8.3 Hive函數(shù) 174
8.3.1 內(nèi)置函數(shù) 174
8.3.2 自定義函數(shù) 175
8.4 Hive表的高級(jí)特性 181
8.4.1 外部表 181
8.4.2 分區(qū)表 182
8.5 小結(jié) 185
8.6 配套視頻 185
第9章 數(shù)據(jù)轉(zhuǎn)換工具Sqoop 186
9.1 Sqoop概述與安裝 186
9.1.1 Sqoop概述 186
9.1.2 Sqoop安裝 187
9.2 Sqoop導(dǎo)入數(shù)據(jù) 189
9.2.1 更改MySQL的root用戶(hù)密碼 189
9.2.2 準(zhǔn)備數(shù)據(jù) 190
9.2.3 導(dǎo)入數(shù)據(jù)到HDFS 191
9.2.4 查看HDFS數(shù)據(jù) 192
9.2.5 導(dǎo)入數(shù)據(jù)到Hive 193
9.2.6 查看Hive數(shù)據(jù) 193
9.3 Sqoop導(dǎo)出數(shù)據(jù) 194
9.3.1 準(zhǔn)備MySQL表 194
9.3.2 導(dǎo)出數(shù)據(jù)到MySQL 194
9.3.3 查看MySQL中的導(dǎo)出數(shù)據(jù) 195
9.4 深入理解Sqoop的導(dǎo)入與導(dǎo)出 196
9.5 小結(jié) 203
9.6 配套視頻 203
第10章 內(nèi)存計(jì)算框架Spark 204
10.1 Spark入門(mén) 204
10.1.1 Spark概述 204
10.1.2 Spark偽分布式安裝 205
10.1.3 由Java到Scala 209
10.1.4 Spark的應(yīng)用 212
10.1.5 Spark入門(mén)示例 217
10.2 Spark Streaming 220
10.2.1 Spark Streaming概述 220
10.2.2 Spark Streaming示例 221
10.3 Spark SQL 224
10.3.1 Spark SQL概述 224
10.3.2 spark-sql命令 225
10.3.3 使用Scala操作Spark SQL 227
10.4 小結(jié) 228
10.5 配套視頻 229
第11章 Hadoop及其常用組件集群安裝 230
11.1 Hadoop集群安裝 230
11.1.1 安裝并配置CentOS 230
11.1.2 安裝JDK 236
11.1.3 安裝Hadoop 237
11.1.4 遠(yuǎn)程復(fù)制文件 241
11.1.5 驗(yàn)證Hadoop 242
11.2 HBase集群安裝 244
11.2.1 解壓并配置環(huán)境變量 244
11.2.2 配置HBase參數(shù) 245
11.2.3 遠(yuǎn)程復(fù)制文件 246
11.2.4 驗(yàn)證HBase 247
11.3 Hive集群安裝 249
11.3.1 解壓并配置環(huán)境變量 249
11.3.2 安裝MySQL 250
11.3.3 配置Hive 252
11.3.4 驗(yàn)證Hive 254
11.4 Spark集群安裝 254
11.4.1 安裝Scala 254
11.4.2 安裝Spark 254
11.4.3 配置Spark 255
11.4.4 遠(yuǎn)程復(fù)制文件 256
11.4.5 驗(yàn)證Spark 257
11.5 小結(jié) 259
11.6 配套視頻 259
第三篇 實(shí)戰(zhàn)篇 261
第12章 海量Web日志分析系統(tǒng) 263
12.1 案例介紹 263
12.1.1 分析Web日志數(shù)據(jù)的目的 263
12.1.2 Web日志分析的典型應(yīng)用場(chǎng)景 265
12.1.3 日志的不確定性 265
12.2 案例分析 266
12.2.1 日志分析的KPI 267
12.2.2 案例系統(tǒng)結(jié)構(gòu) 267
12.2.3 日志分析方法 268
12.3 案例實(shí)現(xiàn) 273
12.3.1 定義日志相關(guān)屬性字段 273
12.3.2 數(shù)據(jù)合法標(biāo)識(shí)(在分析時(shí)是否被過(guò)濾) 274
12.3.3 解析日志 274
12.3.4 日志合法性過(guò)濾 275
12.3.5 頁(yè)面訪問(wèn)量統(tǒng)計(jì)的實(shí)現(xiàn) 276
12.3.6 頁(yè)面獨(dú)立IP訪問(wèn)量統(tǒng)計(jì)的實(shí)現(xiàn) 278
12.3.7 用戶(hù)單位時(shí)間PV的統(tǒng)計(jì)實(shí)現(xiàn) 280
12.3.8 用戶(hù)訪問(wèn)設(shè)備信息統(tǒng)計(jì)的實(shí)現(xiàn) 282
12.4 小結(jié) 283
12.5 配套視頻 283
第13章 電商商品推薦系統(tǒng) 284
13.1 案例介紹 284
13.1.1 推薦算法 284
13.1.2 案例的意義 285
13.1.3 案例需求 285
13.2 案例設(shè)計(jì) 286
13.2.1 協(xié)同過(guò)濾 286
13.2.2 基于用戶(hù)的協(xié)同過(guò)濾算法 289
13.2.3 基于物品的協(xié)同過(guò)濾算法 292
13.2.4 算法實(shí)現(xiàn)設(shè)計(jì) 295
13.2.5 推薦步驟與架構(gòu)設(shè)計(jì) 298
13.3 案例實(shí)現(xiàn) 298
13.3.1 實(shí)現(xiàn)HDFS文件操作工具 299
13.3.2 實(shí)現(xiàn)任務(wù)步驟1:匯總用戶(hù)對(duì)所有物品的評(píng)分信息 302
13.3.3 實(shí)現(xiàn)任務(wù)步驟2:獲取物品同現(xiàn)矩陣 305
13.3.4 實(shí)現(xiàn)任務(wù)步驟3:合并同現(xiàn)矩陣和評(píng)分矩陣 307
13.3.5 實(shí)現(xiàn)任務(wù)步驟4:計(jì)算推薦結(jié)果 310
13.3.6 實(shí)現(xiàn)統(tǒng)一的任務(wù)調(diào)度 316
13.4 小結(jié) 317
13.5 配套視頻 317
第14章 分布式垃圾消息識(shí)別系統(tǒng) 318
14.1 案例介紹 318
14.1.1 案例內(nèi)容 318
14.1.2 案例應(yīng)用的主體結(jié)構(gòu) 319
14.1.3 案例運(yùn)行結(jié)果 321
14.2 RPC遠(yuǎn)程方法調(diào)用的設(shè)計(jì) 322
14.2.1 Java EE的核心優(yōu)勢(shì):RMI 322
14.2.2 RMI的基本原理 324
14.2.3 自定義RPC組件分析 325
14.3 數(shù)據(jù)分析設(shè)計(jì) 328
14.3.1 垃圾消息識(shí)別算法——樸素貝葉斯算法 328
14.3.2 進(jìn)行分布式貝葉斯分類(lèi)學(xué)習(xí)時(shí)的全局計(jì)數(shù)器 330
14.3.3 數(shù)據(jù)清洗分析結(jié)果存儲(chǔ) 332
14.4 案例實(shí)現(xiàn) 333
14.4.1 自定義的RPC組件服務(wù)端相關(guān)實(shí)現(xiàn) 333
14.4.2 自定義的RPC組件客戶(hù)端相關(guān)實(shí)現(xiàn) 342
14.4.3 業(yè)務(wù)服務(wù)器實(shí)現(xiàn) 347
14.4.4 業(yè)務(wù)客戶(hù)端實(shí)現(xiàn) 367
14.5 小結(jié) 370
14.6 配套視頻 370