本書(shū)系統(tǒng)、全面地介紹大數(shù)據(jù)技術(shù)的基礎(chǔ)知識(shí)。全書(shū)共13章,首先介紹大數(shù)據(jù)行業(yè)與技術(shù)趨勢(shì);然后介紹大數(shù)據(jù)生態(tài)圈的各項(xiàng)技術(shù),包括分布式文件系統(tǒng)、Hive分布式數(shù)據(jù)倉(cāng)庫(kù)、HBase技術(shù)原理、MapReduce和YARN技術(shù)原理、Spark基于內(nèi)存的分布式計(jì)算、Flink流批一體分布式實(shí)時(shí)處理引擎、數(shù)據(jù)采集與數(shù)據(jù)裝載工具、Kafka分布式消息訂閱系統(tǒng)、高可靠集群安全模式、分布式全文檢索Elasticsearch、Redis內(nèi)存數(shù)據(jù)庫(kù)等;最后介紹華為大數(shù)據(jù)解決方案。通過(guò)學(xué)習(xí)本書(shū)所講內(nèi)容,讀者可以整體了解大數(shù)據(jù)技術(shù),掌握大數(shù)據(jù)生態(tài)圈中各項(xiàng)技術(shù)最為基礎(chǔ)和關(guān)鍵的知識(shí)。
本書(shū)可作為數(shù)據(jù)科學(xué)與大數(shù)據(jù)、軟件工程、計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)的大數(shù)據(jù)概論課程的教材,也可供大數(shù)據(jù)工程技術(shù)人員學(xué)習(xí)或參考使用,還可作為華為HCIA認(rèn)證考試的培訓(xùn)教材。
(1)本書(shū)是華為認(rèn)證教材之一。全書(shū)以華為ICT大數(shù)據(jù)技術(shù)培訓(xùn)認(rèn)證考試的考試大綱為主線,包括了大數(shù)據(jù)行業(yè)與技術(shù)趨勢(shì)、分布式文件系統(tǒng)、Hive分布式數(shù)據(jù)倉(cāng)庫(kù)、HBase技術(shù)原理、MapReduce和YARN技術(shù)原理、Spark基于內(nèi)存的分布式計(jì)算、Flink流批一體分布式實(shí)時(shí)處理引擎、數(shù)據(jù)采集與數(shù)據(jù)裝載工具、Kafka分布式消息訂閱系統(tǒng)、高可靠集群安全模式、分布式全文檢索ElasticSearch、Redis內(nèi)存數(shù)據(jù)庫(kù)、華為大數(shù)據(jù)解決方案等內(nèi)容。
(2)在涵蓋華為ICT大數(shù)據(jù)技術(shù)培訓(xùn)認(rèn)證相關(guān)內(nèi)容的同時(shí),本書(shū)在部分章節(jié)增加了實(shí)操案例,并強(qiáng)化了ZooKeeper、Kafka、Flink、Redis等的相關(guān)介紹,特別是在高可靠集群安全模式、華為大數(shù)據(jù)解決方案以及華為自身大數(shù)據(jù)組件介紹方面具有鮮明的特點(diǎn)。
華為技術(shù)有限公司:
成立于1987年,總部位于廣東省深圳市龍崗區(qū)。華為是全球領(lǐng)先的信息與通信技術(shù)(ICT)解決方案供應(yīng)商,專注于ICT領(lǐng)域,在電信運(yùn)營(yíng)商、企業(yè)、終端和云計(jì)算等領(lǐng)域構(gòu)筑了端到端的解決方案優(yōu)勢(shì),為運(yùn)營(yíng)商客戶、企業(yè)客戶和消費(fèi)者提供有競(jìng)爭(zhēng)力的ICT解決方案、產(chǎn)品和服務(wù),并致力于實(shí)現(xiàn)未來(lái)信息社會(huì)、構(gòu)建更美好的全聯(lián)接世界。2013年,華為首超全球第一大電信設(shè)備商愛(ài)立信,排名《財(cái)富》世界500強(qiáng)第315位。華為的產(chǎn)品和解決方案已經(jīng)應(yīng)用于全球170多個(gè)國(guó)家,服務(wù)全球運(yùn)營(yíng)商50強(qiáng)中的45家及全球1/3的人口。
第 1章 大數(shù)據(jù)行業(yè)與技術(shù)趨勢(shì) 1
1.1 大數(shù)據(jù)時(shí)代 1
1.1.1 大數(shù)據(jù)的定義 1
1.1.2 大數(shù)據(jù)分析與傳統(tǒng)數(shù)據(jù)分析 2
1.1.3 大數(shù)據(jù)時(shí)代已經(jīng)到來(lái) 7
1.2 大數(shù)據(jù)應(yīng)用領(lǐng)域 8
1.3 大數(shù)據(jù)時(shí)代企業(yè)所面臨的挑戰(zhàn)和機(jī)遇 9
1.3.1 大數(shù)據(jù)時(shí)代企業(yè)所面臨的挑戰(zhàn) 9
1.3.2 大數(shù)據(jù)時(shí)代企業(yè)所面臨的機(jī)遇 10
1.4 大數(shù)據(jù)代表技術(shù)和解決方案 11
1.4.1 大數(shù)據(jù)代表技術(shù) 11
1.4.2 大數(shù)據(jù)解決方案 16
1.5 本章小結(jié) 17
1.6 習(xí)題 17
第 2章 分布式文件系統(tǒng) 18
2.1 文件系統(tǒng)概述 18
2.2 HDFS架構(gòu) 20
2.2.1 HDFS體系結(jié)構(gòu) 21
2.2.2 HDFS中的數(shù)據(jù)流 23
2.3 HDFS關(guān)鍵特性 26
2.3.1 HDFS高可用性 26
2.3.2 HDFS元數(shù)據(jù)持久化 28
2.3.3 HDFS聯(lián)邦 28
2.3.4 HDFS視圖文件系統(tǒng) 29
2.3.5 HDFS機(jī)架感知策略 30
2.3.6 HDFS集中式緩存管理 31
2.3.7 配置HDFS數(shù)據(jù)存儲(chǔ)策略 32
2.3.8 HDFS同分布 33
2.4 HDFS操作 34
2.4.1 使用命令行訪問(wèn)HDFS 34
2.4.2 使用Java API訪問(wèn)HDFS 36
2.5 ZooKeeper 40
2.5.1 ZooKeeper體系結(jié)構(gòu) 40
2.5.2 ZooKeeper讀/寫(xiě)機(jī)制 41
2.5.3 ZooKeeper關(guān)鍵特性 42
2.5.4 ZooKeeper命令行操作 42
2.6 本章小結(jié) 42
2.7 習(xí)題 43
第3章 Hive分布式數(shù)據(jù)倉(cāng)庫(kù) 44
3.1 數(shù)據(jù)倉(cāng)庫(kù) 44
3.1.1 數(shù)據(jù)倉(cāng)庫(kù)的定義 44
3.1.2 數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)的區(qū)別 44
3.1.3 數(shù)據(jù)倉(cāng)庫(kù)的系統(tǒng)結(jié)構(gòu) 45
3.2 Hive概述和體系結(jié)構(gòu) 46
3.2.1 Hive概述 46
3.2.2 Hive的體系結(jié)構(gòu) 46
3.2.3 Hive與傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù) 48
3.2.4 Hive數(shù)據(jù)存儲(chǔ)模型 49
3.3 Hive基本操作 50
3.3.1 Hive數(shù)據(jù)基本操作 50
3.3.2 用戶自定義函數(shù) 57
3.3.3 Hive數(shù)據(jù)壓縮與文件存儲(chǔ)格式 58
3.4 Hive增強(qiáng)特性 60
3.4.1 支持HDFS同分布 60
3.4.2 支持列加密功能 61
3.4.3 支持HBase刪除功能 61
3.4.4 指定行分隔符 61
3.4.5 其他增強(qiáng)特性 62
3.5 本章小結(jié) 62
3.6 習(xí)題 63
第4章 HBase技術(shù)原理 64
4.1 NoSQL數(shù)據(jù)庫(kù) 64
4.2 HBase概述與基本架構(gòu) 66
4.2.1 HBase概述 66
4.2.2 HBase數(shù)據(jù)模型 67
4.2.3 HBase架構(gòu) 68
4.2.4 HBase關(guān)鍵流程 70
4.3 HBase基本操作 75
4.3.1 HBase性能優(yōu)化 75
4.3.2 HBase常用操作 77
4.3.3 HBase Java API操作 79
4.4 HBase增強(qiáng)特性 82
4.4.1 支持二級(jí)索引 82
4.4.2 二級(jí)索引行鍵去除padding 83
4.4.3 支持多點(diǎn)分割 83
4.4.4 容災(zāi)增強(qiáng) 83
4.4.5 HBase MOB 84
4.4.6 HFS 84
4.5 本章小結(jié) 85
4.6 習(xí)題 85
第5章 MapReduce和YARN技術(shù)原理 86
5.1 MapReduce和YARN基本介紹 86
5.1.1 MapReduce基本介紹 86
5.1.2 YARN基本介紹 87
5.2 MapReduce和YARN的功能與架構(gòu) 87
5.2.1 MapReduce過(guò)程詳解 87
5.2.2 經(jīng)典MapReduce任務(wù)調(diào)度模型 89
5.2.3 YARN的組件架構(gòu) 90
5.2.4 MapReduce On YARN 91
5.2.5 YARN 容錯(cuò)機(jī)制 92
5.3 YARN的資源隔離和調(diào)度 92
5.3.1 YARN資源隔離 92
5.3.2 YARN資源調(diào)度 94
5.3.3 搶占與延時(shí)調(diào)度 97
5.3.4 YARN參數(shù)配置 98
5.4 MapReduce和YARN增強(qiáng)特性 103
5.4.1 任務(wù)優(yōu)先級(jí)調(diào)度 103
5.4.2 提交Application可設(shè)置超時(shí)參數(shù) 104
5.4.3 YARN的權(quán)限控制 104
5.4.4 支持CPU硬隔離 105
5.4.5 重啟性能優(yōu)化 105
5.5 MapReduce實(shí)例 106
5.5.1 Top10視頻分析 106
5.5.2 視頻類別統(tǒng)計(jì) 108
5.6 本章小結(jié) 109
5.7 習(xí)題 109
第6章 Spark基于內(nèi)存的分布式計(jì)算 110
6.1 Spark簡(jiǎn)介 110
6.1.1 Spark概念 110
6.1.2 Spark架構(gòu) 111
6.1.3 Spark核心組件 112
6.2 Spark編程模型 114
6.2.1 核心數(shù)據(jù)結(jié)構(gòu)RDD 114
6.2.2 RDD上的操作 114
6.2.3 RDD的持久化 115
6.2.4 RDD計(jì)算工作流 115
6.3 Spark調(diào)度機(jī)制 116
6.3.1 Spark應(yīng)用執(zhí)行流程 116
6.3.2 Spark調(diào)度與任務(wù)分配 117
6.4 Spark生態(tài)圈其他技術(shù) 120
6.4.1 Spark SQL 120
6.4.2 Spark Streaming 123
6.5 Spark應(yīng)用案例 127
6.5.1 Spark Shell 127
6.5.2 WordCount 129
6.6 本章小結(jié) 130
6.7 習(xí)題 130
第7章 Flink流批一體分布式實(shí)時(shí)處理引擎 131
7.1 Flink概述 131
7.1.1 Flink的特點(diǎn) 131
7.1.2 Flink的應(yīng)用場(chǎng)景 133
7.2 Flink原理和架構(gòu) 133
7.2.1 Flink主要組件 133
7.2.2 Flink的插槽和并行度 134
7.3 Flink部署 136
7.3.1 Standalone部署 137
7.3.2 Flink on YARN部署 139
7.4 Flink時(shí)間處理 141
7.4.1 時(shí)間語(yǔ)義 141
7.4.2 窗口 142
7.4.3 Watermark 144
7.4.4 延遲處理 145
7.5 Flink的容錯(cuò)機(jī)制 146
7.5.1 常用State 146
7.5.2 Checkpoint 148
7.5.3 State Backend 150
7.6 Flink應(yīng)用案例 152
7.7 本章小結(jié) 153
7.8 習(xí)題 153
第8章 數(shù)據(jù)采集與數(shù)據(jù)裝載工具 154
8.1 Flume簡(jiǎn)介及結(jié)構(gòu) 154
8.1.1 Flume定義 154
8.1.2 Flume組成架構(gòu) 155
8.1.3 Flume拓?fù)浣Y(jié)構(gòu) 158
8.2 Flume關(guān)鍵特性 160
8.2.1 Source 160
8.2.2 Sink 163
8.2.3 Channel、攔截器與處理器 165
8.3 Flume的安裝與配置 166
8.4 數(shù)據(jù)裝載工具Loader 168
8.4.1 Loader簡(jiǎn)介 168
8.4.2 Loader模塊架構(gòu) 169
8.4.3 Loader作業(yè)管理 170
8.4.4 監(jiān)控作業(yè)執(zhí)行狀態(tài) 172
8.5 本章小結(jié) 173
8.6 習(xí)題 173
第9章 Kafka分布式消息訂閱系統(tǒng) 175
9.1 Kafka簡(jiǎn)介 175
9.1.1 Kafka概念 175
9.1.2 Kafka結(jié)構(gòu) 175
9.1.3 Kafka消息傳遞模式 176
9.1.4 Kafka特點(diǎn) 176
9.2 Kafka組成 178
9.2.1 Kafka組成的概念 178
9.2.2 Kafka組成的功能 179
9.3 Kafka關(guān)鍵流程及數(shù)據(jù)管理 181
9.3.1 Kafka生產(chǎn)過(guò)程分析 181
9.3.2 Broker保存消息 182
9.3.3 Kafka消費(fèi)過(guò)程分析 183
9.3.4 Kafka高可用 184
9.3.5 舊數(shù)據(jù)處理方式 184
9.4 Kafka應(yīng)用案例 185
消息隊(duì)列的應(yīng)用場(chǎng)景 185
9.5 本章小結(jié) 189
9.6 習(xí)題 189
第 10章 高可靠集群安全模式 190
10.1 統(tǒng)一身份認(rèn)證管理 190
10.1.1 統(tǒng)一身份認(rèn)證 190
10.1.2 統(tǒng)一用戶管理系統(tǒng) 191
10.2 目錄服務(wù)和輕型目錄訪問(wèn)協(xié)議 192
10.2.1 目錄服務(wù) 192
10.2.2 輕型目錄訪問(wèn)協(xié)議 193
10.2.3 LdapServer 194
10.2.4 LdapServer集成設(shè)計(jì) 198
10.2.5 LdapServer應(yīng)用優(yōu)勢(shì) 198
10.3 單點(diǎn)登錄及Kerberos基本原理 199
10.3.1 單點(diǎn)登錄 199
10.3.2 KrbServer 201
10.3.3 KrbServer認(rèn)證流程 202
10.4 華為大數(shù)據(jù)安全認(rèn)證場(chǎng)景架構(gòu) 204
10.4.1 安全認(rèn)證場(chǎng)景架構(gòu) 204
10.4.2 Kerberos與LdapServer的業(yè)務(wù)交互 205
10.4.3 常用配置項(xiàng)及命令 206
10.4.4 集群內(nèi)服務(wù)認(rèn)證 207
10.5 本章小結(jié) 207
10.6 習(xí)題 208
第 11章 分布式全文檢索Elasticsearch 209
11.1 Elasticsearch簡(jiǎn)介 209
11.1.1 Elasticsearch特點(diǎn) 209
11.1.2 Elasticsearch應(yīng)用場(chǎng)景 210
11.1.3 Elasticsearch在大數(shù)據(jù)解決方案中的位置 210
11.2 Elasticsearch架構(gòu) 211
11.2.1 Elasticsearch核心概念 211
11.2.2 Elasticsearch集群架構(gòu) 213
11.2.3 Elasticsearch內(nèi)部架構(gòu) 213
11.3 Elasticsearch關(guān)鍵特性 215
11.3.1 倒排序索引 215
11.3.2 路由算法 216
11.3.3 平衡算法 217
11.3.4 擴(kuò)容策略 218
11.3.5 減容策略 218
11.3.6 索引HBase數(shù)據(jù) 219
11.3.7 單機(jī)多實(shí)例部署 219
11.3.8 分片自動(dòng)跨節(jié)點(diǎn)分配策略 220
11.4 本章小結(jié) 221
11.5 習(xí)題 222
第 12章 Redis內(nèi)存數(shù)據(jù)庫(kù) 223
12.1 Redis簡(jiǎn)介 223
12.2 Redis架構(gòu) 225
12.2.1 Redis架構(gòu)概述 225
12.2.2 Redis架構(gòu)設(shè)計(jì) 225
12.2.3 單線程架構(gòu) 225
12.2.4 集群環(huán)境讀/寫(xiě)流程分析 226
12.3 Redis數(shù)據(jù)類型及操作命令 227
12.3.1 字符串類型 228
12.3.2 列表類型 229
12.3.3 集合類型 231
12.3.4 散列表類型 232
12.3.5 有序集合類型 233
12.4 Redis的持久化 234
12.4.1 RDB持久化 234
12.4.2 AOF持久化 236
12.5 Redis優(yōu)化 238
12.6 本章小結(jié) 239
12.7 習(xí)題 239
第 13章 華為大數(shù)據(jù)解決方案 240
13.1 ICT行業(yè)發(fā)展趨勢(shì)概述 240
13.1.1 概述 240
13.1.2 華為云Stack解決方案 241
13.1.3 華為云Stack功能架構(gòu) 242
13.1.4 數(shù)字平臺(tái)場(chǎng)景化解決方案 243
13.1.5 華為云大數(shù)據(jù)服務(wù) 244
13.2 華為大數(shù)據(jù)服務(wù) 245
13.2.1 MRS 245
13.2.2 數(shù)據(jù)倉(cāng)庫(kù)服務(wù) 246
13.2.3 云搜索服務(wù) 248
13.2.4 圖引擎服務(wù) 248
13.3 華為智能數(shù)據(jù)湖運(yùn)營(yíng)平臺(tái) 249
13.3.1 華為云智能數(shù)據(jù)湖 249
13.3.2 智能數(shù)據(jù)湖運(yùn)營(yíng)平臺(tái)DAYU 250
13.3.3 數(shù)據(jù)湖治理 251
13.4 本章小結(jié) 252
13.5 習(xí)題 252