Hadoop大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用
定 價(jià):69 元
叢書名:面向新工科高等院校大數(shù)據(jù)專業(yè)系列教材
- 作者:楊俊 蔣寅 楊綠科
- 出版時(shí)間:2022/9/1
- ISBN:9787111712855
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:257
- 紙張:
- 版次:
- 開本:16
本書由淺入深地介紹了Hadoop技術(shù)生態(tài)的重要組件,讓讀者能夠系統(tǒng)地了解大數(shù)據(jù)相關(guān)技術(shù)。第1章主要從整體上介紹了Hadoop大數(shù)據(jù)技術(shù),并搭建Hadoop運(yùn)行環(huán)境。第2~5章著重介紹了Hadoop核心技術(shù),包括Hadoop分布式文件系統(tǒng)(HDFS)、Hadoop資源管理系統(tǒng)(YARN)、Hadoop分布式計(jì)算框架(MapReduce)以及ZooKeeper分布式協(xié)調(diào)服務(wù)。第6章重點(diǎn)介紹了Hadoop分布式集群的搭建以及集群的運(yùn)維與管理。第7~8章詳細(xì)介紹了Hive數(shù)據(jù)倉庫和HBase分布式數(shù)據(jù)庫等Hadoop的上層技術(shù)組件。第9章介紹了
Hadoop生態(tài)圈其他常用開發(fā)技術(shù)。第10~11章是項(xiàng)目實(shí)戰(zhàn),分別介紹了互聯(lián)網(wǎng)金融項(xiàng)目離線分析、互聯(lián)網(wǎng)直播項(xiàng)目實(shí)時(shí)分析。
本書采用理論知識(shí)和實(shí)戰(zhàn)項(xiàng)目相結(jié)合的方式,突出實(shí)戰(zhàn),非常適合Hadoop 初學(xué)者及開發(fā)者閱讀。本書既可以作為高等院校數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及相關(guān)專業(yè)的教材,也可以作為大數(shù)據(jù)工程師的必備開發(fā)手冊(cè)。
前言
第1章 Hadoop技術(shù)概述1
1.1 Hadoop的前世今生1
1.1.1 Hadoop概述1
1.1.2 Hadoop項(xiàng)目起源1
1.1.3 Hadoop發(fā)展歷程2
1.1.4 Hadoop名字起源2
1.2 Hadoop生態(tài)系統(tǒng)簡介2
1.3 Hadoop的優(yōu)勢及應(yīng)用領(lǐng)域4
1.3.1 Hadoop的優(yōu)勢4
1.3.2 Hadoop的應(yīng)用領(lǐng)域4
1.4 Hadoop與云計(jì)算5
1.4.1 云計(jì)算的概念及特點(diǎn)5
1.4.2 Hadoop與云計(jì)算的關(guān)系6
1.5 Hadoop與Spark6
1.5.1 Spark的概念及特點(diǎn)6
1.5.2 Hadoop與Spark的關(guān)系7
1.6 Hadoop與傳統(tǒng)關(guān)系型數(shù)據(jù)庫7
1.6.1 RDBMS的概念及特點(diǎn)7
1.6.2 Hadoop與RDBMS的關(guān)系8
1.7 案例實(shí)踐:搭建Hadoop運(yùn)行環(huán)境8
1.7.1 搭建IDEA開發(fā)環(huán)境9
1.7.2 搭建Linux虛擬機(jī)11
1.7.3 搭建Hadoop偽分布式集群環(huán)境15
1.8 本章小結(jié)21
1.9 習(xí)題21
第2章 Hadoop分布式文件系統(tǒng)(HDFS)22
2.1 HDFS架構(gòu)設(shè)計(jì)與工作原理22
2.1.1 HDFS概述22
2.1.2 HDFS產(chǎn)生背景22
2.1.3 HDFS設(shè)計(jì)理念23
2.1.4 HDFS架構(gòu)23
2.1.5 HDFS優(yōu)缺點(diǎn)26
2.1.6 HDFS讀數(shù)據(jù)流程27
2.1.7 HDFS寫數(shù)據(jù)流程28
2.1.8 HDFS副本存放策略29
2.2 HDFS的高可用31
2.2.1 HA機(jī)制產(chǎn)生背景31
2.2.2 HDFS的HA架構(gòu)32
2.2.3 HDFS的HA機(jī)制33
2.3 HDFS聯(lián)邦機(jī)制33
2.4 HDFS Shell操作34
2.4.1 HDFS Shell基本操作命令34
2.4.2 HDFS Shell管理員操作命令35
2.5 案例實(shí)踐:Shell定時(shí)上傳文件至HDFS37
2.5.1 項(xiàng)目需求37
2.5.2 實(shí)現(xiàn)思路37
2.5.3 具體實(shí)現(xiàn)流程37
2.6 本章小結(jié)38
2.7 習(xí)題39
第3章 Hadoop資源管理系統(tǒng)(YARN)40
3.1 YARN的架構(gòu)設(shè)計(jì)與工作原理40
3.1.1 YARN概述40
3.1.2 YARN的作用41
3.1.3 YARN的基本架構(gòu)41
3.1.4 YARN的工作原理42
3.2 MapReduce on YARN工作流程43
3.3 YARN的容錯(cuò)性44
3.4 YARN的高可用45
3.5 YARN的調(diào)度器46
3.5.1 先進(jìn)先出調(diào)度器46
3.5.2 容量調(diào)度器47
3.5.3 公平調(diào)度器47
3.6 案例實(shí)踐:YARN調(diào)度器的配置與使用48
3.6.1 啟用公平調(diào)度器48
3.6.2 隊(duì)列配置48
3.6.3 同步配置文件49
3.6.4 重啟YARN集群49
3.6.5 提交任務(wù)50
3.6.6 查看任務(wù)50
3.6.7 查看運(yùn)行結(jié)果50
3.7 本章小結(jié)51
3.8 習(xí)題51
第4章 Hadoop分布式計(jì)算框架(MapReduce)52
4.1 初識(shí)MapReduce52
4.1.1 MapReduce概述52
4.1.2 MapReduce基本設(shè)計(jì)思想53
4.1.3 MapReduce的優(yōu)缺點(diǎn)54
4.2 MapReduce編程模型55
4.2.1 MapReduce編程模型簡介55
4.2.2 深入剖析MapReduce編程模型56
4.3 MapReduce運(yùn)行機(jī)制60
4.3.1 剖析MapReduce作業(yè)運(yùn)行機(jī)制60
4.3.2 作業(yè)失敗與容錯(cuò)63
4.3.3 Shuffle過程詳解65
4.4 案例實(shí)踐:氣象大數(shù)據(jù)離線分析67
4.5 本章小結(jié)70
4.6 習(xí)題71
第5章 ZooKeeper分布式協(xié)調(diào)服務(wù)72
5.1 ZooKeeper架構(gòu)設(shè)計(jì)與工作原理72
5.1.1 ZooKeeper定義72
5.1.2 ZooKeeper的特點(diǎn)73
5.1.3 ZooKeeper的基本架構(gòu)73
5.1.4 ZooKeeper的工作原理74
5.1.5 ZooKeeper的數(shù)據(jù)模型74
5.2 ZooKeeper集群安裝前的準(zhǔn)備工作75
5.2.1 配置Hosts文件76
5.2.2 時(shí)鐘同步76
5.2.3 集群SSH免密登錄77
5.2.4 JDK安裝78
5.3 ZooKeeper集群的安裝部署79
5.3.1 下載并解壓ZooKeeper79
5.3.2 修改zoo.cfg配置文件79
5.3.3 同步ZooKeeper安裝目錄80
5.3.4 創(chuàng)建數(shù)據(jù)和日志目錄80
5.3.5 創(chuàng)建各節(jié)點(diǎn)服務(wù)編號(hào)80
5.3.6 啟動(dòng)ZooKeeper集群服務(wù)80
5.4 ZooKeeper Shell操作81
5.5 案例實(shí)踐:ZooKeeper分布式爬蟲監(jiān)控81
5.5.1 項(xiàng)目需求81
5.5.2 實(shí)現(xiàn)思路82
5.5.3 具體實(shí)現(xiàn)流程82
5.6 本章小結(jié)86
5.7 習(xí)題86
第6章 Hadoop分布式集群搭建與管理87
6.1 集群規(guī)劃87
6.1.1 主機(jī)規(guī)劃87
6.1.2 軟件規(guī)劃87
6.1.3 用戶規(guī)劃88
6.1.4 目錄規(guī)劃88
6.2 HDFS分布式集群搭建88
6.2.1 HDFS集群配置88
6.2.2 啟動(dòng)HDFS集群服務(wù)91
6.2.3 HDFS集群測試92
6.3 YARN分布式集群搭建93
6.3.1 YARN 集群配置93
6.3.2 啟動(dòng)YARN集群服務(wù)96
6.3.3 YARN集群測試96
6.4 Hadoop集群運(yùn)維管理97
6.4.1 Hadoop集群進(jìn)程管理98
6.4.2 Hadoop集群運(yùn)維技巧99
6.5 案例實(shí)踐:Hadoop集群動(dòng)態(tài)擴(kuò)縮容99
6.5.1 項(xiàng)目需求99
6.5.2 動(dòng)態(tài)擴(kuò)容原理99
6.5.3 動(dòng)態(tài)縮容原理100
6.5.4 原Hadoop集群配置與啟動(dòng)100
6.5.5 Hadoop集群動(dòng)態(tài)擴(kuò)容102
6.5.6 Hadoop集群動(dòng)態(tài)縮容104
6.6 本章小結(jié)106
6.7 習(xí)題 106
第7章 Hive數(shù)據(jù)倉庫工具107
7.1 Hive概述107
7.1.1 Hive定義107
7.1.2 Hive產(chǎn)生的背景107
7.1.3 Hive的優(yōu)缺點(diǎn)108
7.1.4 Hive在Hadoop生態(tài)系統(tǒng)中的位置108
7.1.5 Hive與Hadoop的關(guān)系108
7.2 Hive原理及架構(gòu)109
7.2.1 Hive的設(shè)計(jì)原理109
7.2.2 Hive的體系架構(gòu)109
7.2.3 Hive的運(yùn)行機(jī)制110
7.2.4 HQL的轉(zhuǎn)換過程111
7.2.5 Hive的數(shù)據(jù)類型112
7.2.6 Hive的數(shù)據(jù)存儲(chǔ)112
7.3 Hive的安裝部署113
7.3.1 安裝MySQL113
7.3.2 安裝Hive114
7.4 Hive詳解116
7.4.1 Hive對(duì)數(shù)據(jù)庫的操作116
7.4.2 Hive對(duì)數(shù)據(jù)表的操作119
7.4.3 Hive數(shù)據(jù)相關(guān)操作122
7.4.4 Hive查詢相關(guān)操作126
7.4.5 Hive表連接相關(guān)操作129
7.4.6 Hive內(nèi)部表和外部表相關(guān)操作130
7.4.7 Hive分區(qū)與分桶相關(guān)操作131
7.5 案例實(shí)踐:B站用戶行為大數(shù)據(jù)分析133
7.5.1 項(xiàng)目需求133
7.5.2 表結(jié)構(gòu)133
7.5.3 準(zhǔn)備工作134
7.5.4 統(tǒng)計(jì)分析137
7.6 本章小結(jié)138
7.7 習(xí)題138
第8章 HBase分布式數(shù)據(jù)庫139
8.1 HBase概述139
8.1.1 HBase定義139
8.1.2 HBase的特點(diǎn)139
8.2 HBase模型及架構(gòu)140
8.2.1 HBase邏輯模型140
8.2.2 HBase數(shù)據(jù)模型141
8.2.3 HBase物理模型141
8.2.4 HBase基本架構(gòu)143
8.3 搭建HBase分布式集群144
8.3.1 HBase集群規(guī)劃144
8.3.2 HBase集群安裝配置145
8.3.3 啟動(dòng)HBase集群服務(wù)147
8.4 HBase Shell操作149
8.4.1 HBase Shell命令分類149
8.4.2 HBase Shell基本操作150
8.5 HBase Java客戶端152
8.5.1 引入HBase依賴152
8.5.2 連接HBase數(shù)據(jù)庫152
8.5.3 創(chuàng)建HBase表153
8.5.4 HBase插入數(shù)據(jù)153
8.5.5 HBase查詢數(shù)據(jù)154
8.5.6 HBase 過濾查詢155
8.5.7 刪除HBase表156
8.6 案例實(shí)踐:MapReduce批量寫入HBase156
8.6.1 需求分析156
8.6.2 數(shù)據(jù)集準(zhǔn)備156
8.6.3 代碼實(shí)現(xiàn)157
8.6.4 測試運(yùn)行158
8.7 本章小結(jié)159
8.8 習(xí)題159
第9章 Hadoop生態(tài)圈其他常用開發(fā)技術(shù)160
9.1 Sqoop數(shù)據(jù)遷移工具160
9.1.1 Sqoop概述160
9.1.2 Sqoop的優(yōu)勢161
9.1.3 Sqoop的架構(gòu)與工作機(jī)制161
9.1.4 Sqoop Import 流程161
9.1.5 Sqoop Export 流程162
9.1.6 Sqoop安裝部署162
9.1.7 案例實(shí)踐:Sqoop遷移Hive倉庫數(shù)據(jù)163
9.2 Flume日志采集系統(tǒng)166
9.2.1 Flume概述166
9.2.2 Flume架構(gòu)設(shè)計(jì)166
9.2.3 Flume安裝部署169
9.2.4 案例實(shí)踐:Flume集群搭建170
9.3 Kafka分布式消息系統(tǒng)172
9.3.1 Kafka概述172
9.3.2 Kafka架構(gòu)設(shè)計(jì)173
9.3.3 Kafka分布式集群搭建175
9.3.4 案例實(shí)踐:Flume與Kafka集成178
9.4 Spark實(shí)時(shí)分析系統(tǒng)179
9.4.1 Spark快速入門179
9.4.2 Spark Core的核心功能181
9.4.3 Spark分布式集群搭建186
9.4.4 Spark Streaming實(shí)時(shí)計(jì)算189
9.4.5 案例實(shí)踐:廣告點(diǎn)擊實(shí)時(shí)分析193
9.5 Flink實(shí)時(shí)分析系統(tǒng)199
9.5.1 Flink快速入門199
9.5.2 Flink分布式集群搭建203
9.5.3 Flink DataStream實(shí)時(shí)計(jì)算210
9.5.4 案例實(shí)踐:新聞熱搜實(shí)時(shí)分析214
9.6 Davinci大數(shù)據(jù)可視化分析217
9.6.1 Davinci架構(gòu)設(shè)計(jì)217
9.6.2 Davinci安裝部署220
9.6.3 案例實(shí)踐:Davinci制作數(shù)據(jù)可視化大屏224
9.7 本章小結(jié)229
9.8 習(xí)題229
第10章 項(xiàng)目實(shí)戰(zhàn)—互聯(lián)網(wǎng)金融項(xiàng)目離線分析230
10.1 項(xiàng)目需求分析230
10.2 系統(tǒng)架構(gòu)設(shè)計(jì)230
10.3 數(shù)據(jù)流程設(shè)計(jì)231
10.4 系統(tǒng)集群規(guī)劃231
10.5 項(xiàng)目開發(fā)步驟232
10.5.1 準(zhǔn)備MySQL數(shù)據(jù)源232
10.5.2 Sqoop采集MySQL數(shù)據(jù)庫234
10.5.3 Hive對(duì)金融項(xiàng)目進(jìn)行離線分析237
10.5.4 創(chuàng)建MySQL業(yè)務(wù)表240
10.5.5 統(tǒng)計(jì)結(jié)果入庫MySQL242
10.5.6 Davinci數(shù)據(jù)可視化分析245
10.6 本章小結(jié)247
第11章 項(xiàng)目實(shí)戰(zhàn)—互聯(lián)網(wǎng)直播項(xiàng)目實(shí)時(shí)分析248
11.1 項(xiàng)目需求分析248
11.2 系統(tǒng)架構(gòu)設(shè)計(jì)248
11.3 數(shù)據(jù)流程設(shè)計(jì)249
11.4 系統(tǒng)集群規(guī)劃249
11.5 項(xiàng)目開發(fā)步驟250
11.5.1 模擬實(shí)時(shí)產(chǎn)生數(shù)據(jù)250
11.5.2 MySQL建表存儲(chǔ)統(tǒng)計(jì)結(jié)果252
11.5.3 Flink Streaming業(yè)務(wù)代碼實(shí)現(xiàn)252
11.5.4 打通互聯(lián)網(wǎng)直播項(xiàng)目整個(gè)流程254
11.5.5 Davinci數(shù)據(jù)可視化分析256
11.6 本章小結(jié)256
參考文獻(xiàn)257