Hadoop大數(shù)據(jù)技術(shù)基礎(chǔ)與應(yīng)用
定 價:69 元
叢書名:面向新工科高等院校大數(shù)據(jù)專業(yè)系列教材
- 作者:楊俊 蔣寅 楊綠科
- 出版時間: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運行環(huán)境。第2~5章著重介紹了Hadoop核心技術(shù),包括Hadoop分布式文件系統(tǒng)(HDFS)、Hadoop資源管理系統(tǒng)(YARN)、Hadoop分布式計算框架(MapReduce)以及ZooKeeper分布式協(xié)調(diào)服務(wù)。第6章重點介紹了Hadoop分布式集群的搭建以及集群的運維與管理。第7~8章詳細(xì)介紹了Hive數(shù)據(jù)倉庫和HBase分布式數(shù)據(jù)庫等Hadoop的上層技術(shù)組件。第9章介紹了
Hadoop生態(tài)圈其他常用開發(fā)技術(shù)。第10~11章是項目實戰(zhàn),分別介紹了互聯(lián)網(wǎng)金融項目離線分析、互聯(lián)網(wǎng)直播項目實時分析。
本書采用理論知識和實戰(zhàn)項目相結(jié)合的方式,突出實戰(zhàn),非常適合Hadoop 初學(xué)者及開發(fā)者閱讀。本書既可以作為高等院校數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及相關(guān)專業(yè)的教材,也可以作為大數(shù)據(jù)工程師的必備開發(fā)手冊。
前言
第1章 Hadoop技術(shù)概述1
1.1 Hadoop的前世今生1
1.1.1 Hadoop概述1
1.1.2 Hadoop項目起源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與云計算5
1.4.1 云計算的概念及特點5
1.4.2 Hadoop與云計算的關(guān)系6
1.5 Hadoop與Spark6
1.5.1 Spark的概念及特點6
1.5.2 Hadoop與Spark的關(guān)系7
1.6 Hadoop與傳統(tǒng)關(guān)系型數(shù)據(jù)庫7
1.6.1 RDBMS的概念及特點7
1.6.2 Hadoop與RDBMS的關(guān)系8
1.7 案例實踐:搭建Hadoop運行環(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è)計與工作原理22
2.1.1 HDFS概述22
2.1.2 HDFS產(chǎn)生背景22
2.1.3 HDFS設(shè)計理念23
2.1.4 HDFS架構(gòu)23
2.1.5 HDFS優(yōu)缺點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 案例實踐:Shell定時上傳文件至HDFS37
2.5.1 項目需求37
2.5.2 實現(xiàn)思路37
2.5.3 具體實現(xiàn)流程37
2.6 本章小結(jié)38
2.7 習(xí)題39
第3章 Hadoop資源管理系統(tǒng)(YARN)40
3.1 YARN的架構(gòu)設(shè)計與工作原理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的容錯性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 案例實踐:YARN調(diào)度器的配置與使用48
3.6.1 啟用公平調(diào)度器48
3.6.2 隊列配置48
3.6.3 同步配置文件49
3.6.4 重啟YARN集群49
3.6.5 提交任務(wù)50
3.6.6 查看任務(wù)50
3.6.7 查看運行結(jié)果50
3.7 本章小結(jié)51
3.8 習(xí)題51
第4章 Hadoop分布式計算框架(MapReduce)52
4.1 初識MapReduce52
4.1.1 MapReduce概述52
4.1.2 MapReduce基本設(shè)計思想53
4.1.3 MapReduce的優(yōu)缺點54
4.2 MapReduce編程模型55
4.2.1 MapReduce編程模型簡介55
4.2.2 深入剖析MapReduce編程模型56
4.3 MapReduce運行機(jī)制60
4.3.1 剖析MapReduce作業(yè)運行機(jī)制60
4.3.2 作業(yè)失敗與容錯63
4.3.3 Shuffle過程詳解65
4.4 案例實踐:氣象大數(shù)據(jù)離線分析67
4.5 本章小結(jié)70
4.6 習(xí)題71
第5章 ZooKeeper分布式協(xié)調(diào)服務(wù)72
5.1 ZooKeeper架構(gòu)設(shè)計與工作原理72
5.1.1 ZooKeeper定義72
5.1.2 ZooKeeper的特點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 時鐘同步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é)點服務(wù)編號80
5.3.6 啟動ZooKeeper集群服務(wù)80
5.4 ZooKeeper Shell操作81
5.5 案例實踐:ZooKeeper分布式爬蟲監(jiān)控81
5.5.1 項目需求81
5.5.2 實現(xiàn)思路82
5.5.3 具體實現(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 啟動HDFS集群服務(wù)91
6.2.3 HDFS集群測試92
6.3 YARN分布式集群搭建93
6.3.1 YARN 集群配置93
6.3.2 啟動YARN集群服務(wù)96
6.3.3 YARN集群測試96
6.4 Hadoop集群運維管理97
6.4.1 Hadoop集群進(jìn)程管理98
6.4.2 Hadoop集群運維技巧99
6.5 案例實踐:Hadoop集群動態(tài)擴(kuò)縮容99
6.5.1 項目需求99
6.5.2 動態(tài)擴(kuò)容原理99
6.5.3 動態(tài)縮容原理100
6.5.4 原Hadoop集群配置與啟動100
6.5.5 Hadoop集群動態(tài)擴(kuò)容102
6.5.6 Hadoop集群動態(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)缺點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è)計原理109
7.2.2 Hive的體系架構(gòu)109
7.2.3 Hive的運行機(jī)制110
7.2.4 HQL的轉(zhuǎn)換過程111
7.2.5 Hive的數(shù)據(jù)類型112
7.2.6 Hive的數(shù)據(jù)存儲112
7.3 Hive的安裝部署113
7.3.1 安裝MySQL113
7.3.2 安裝Hive114
7.4 Hive詳解116
7.4.1 Hive對數(shù)據(jù)庫的操作116
7.4.2 Hive對數(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 案例實踐:B站用戶行為大數(shù)據(jù)分析133
7.5.1 項目需求133
7.5.2 表結(jié)構(gòu)133
7.5.3 準(zhǔn)備工作134
7.5.4 統(tǒng)計分析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的特點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 啟動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 案例實踐:MapReduce批量寫入HBase156
8.6.1 需求分析156
8.6.2 數(shù)據(jù)集準(zhǔn)備156
8.6.3 代碼實現(xiàn)157
8.6.4 測試運行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 案例實踐:Sqoop遷移Hive倉庫數(shù)據(jù)163
9.2 Flume日志采集系統(tǒng)166
9.2.1 Flume概述166
9.2.2 Flume架構(gòu)設(shè)計166
9.2.3 Flume安裝部署169
9.2.4 案例實踐:Flume集群搭建170
9.3 Kafka分布式消息系統(tǒng)172
9.3.1 Kafka概述172
9.3.2 Kafka架構(gòu)設(shè)計173
9.3.3 Kafka分布式集群搭建175
9.3.4 案例實踐:Flume與Kafka集成178
9.4 Spark實時分析系統(tǒng)179
9.4.1 Spark快速入門179
9.4.2 Spark Core的核心功能181
9.4.3 Spark分布式集群搭建186
9.4.4 Spark Streaming實時計算189
9.4.5 案例實踐:廣告點擊實時分析193
9.5 Flink實時分析系統(tǒng)199
9.5.1 Flink快速入門199
9.5.2 Flink分布式集群搭建203
9.5.3 Flink DataStream實時計算210
9.5.4 案例實踐:新聞熱搜實時分析214
9.6 Davinci大數(shù)據(jù)可視化分析217
9.6.1 Davinci架構(gòu)設(shè)計217
9.6.2 Davinci安裝部署220
9.6.3 案例實踐:Davinci制作數(shù)據(jù)可視化大屏224
9.7 本章小結(jié)229
9.8 習(xí)題229
第10章 項目實戰(zhàn)—互聯(lián)網(wǎng)金融項目離線分析230
10.1 項目需求分析230
10.2 系統(tǒng)架構(gòu)設(shè)計230
10.3 數(shù)據(jù)流程設(shè)計231
10.4 系統(tǒng)集群規(guī)劃231
10.5 項目開發(fā)步驟232
10.5.1 準(zhǔn)備MySQL數(shù)據(jù)源232
10.5.2 Sqoop采集MySQL數(shù)據(jù)庫234
10.5.3 Hive對金融項目進(jìn)行離線分析237
10.5.4 創(chuàng)建MySQL業(yè)務(wù)表240
10.5.5 統(tǒng)計結(jié)果入庫MySQL242
10.5.6 Davinci數(shù)據(jù)可視化分析245
10.6 本章小結(jié)247
第11章 項目實戰(zhàn)—互聯(lián)網(wǎng)直播項目實時分析248
11.1 項目需求分析248
11.2 系統(tǒng)架構(gòu)設(shè)計248
11.3 數(shù)據(jù)流程設(shè)計249
11.4 系統(tǒng)集群規(guī)劃249
11.5 項目開發(fā)步驟250
11.5.1 模擬實時產(chǎn)生數(shù)據(jù)250
11.5.2 MySQL建表存儲統(tǒng)計結(jié)果252
11.5.3 Flink Streaming業(yè)務(wù)代碼實現(xiàn)252
11.5.4 打通互聯(lián)網(wǎng)直播項目整個流程254
11.5.5 Davinci數(shù)據(jù)可視化分析256
11.6 本章小結(jié)256
參考文獻(xiàn)257