本書是華為ICT學(xué)院大數(shù)據(jù)技術(shù)官方教材,旨在幫助學(xué)生進一步學(xué)習(xí)大數(shù)據(jù)的基本概念、技術(shù)原理,以及大數(shù)據(jù)平臺的搭建和使用。
本書從大數(shù)據(jù)的概念和特征開始講起,首先讓讀者對大數(shù)據(jù)有一個感性的認識;接下來結(jié)合大數(shù)據(jù)平臺的各個功能模塊,詳細介紹大數(shù)據(jù)的存儲、處理、分析、可視化等原理和操作;對大數(shù)據(jù)在各種行業(yè)中的應(yīng)用加以敘述,讓讀者更加充分地感受到大數(shù)據(jù)應(yīng)用的價值。
除華為ICT學(xué)院的學(xué)生之外,本書同樣適合正在備考HCNA-Big Data認證,或者正在參加HCNA-Big Data技術(shù)培訓(xùn)的學(xué)員進行閱讀和參考。其他有志進入ICT行業(yè)的人員和大數(shù)據(jù)技術(shù)愛好者也可以通過閱讀本書,加深自己對大數(shù)據(jù)技術(shù)的理解。
本書則是華為公司針對華為ICT學(xué)院大數(shù)據(jù)方向的在讀學(xué)生,專門組織合作伙伴和華為公司內(nèi)部員工開發(fā)的標(biāo)準(zhǔn)化教材,這套教材的目的在于循序漸進地幫助華為ICT學(xué)院大數(shù)據(jù)方向的學(xué)生掌握大數(shù)據(jù)技術(shù)的基本原理與應(yīng)用場景,能夠在面對真實的業(yè)務(wù)場景時,獨立完成大數(shù)據(jù)平臺的搭建、維護及故障的處理。
多年的Hadoop大數(shù)據(jù)平臺企業(yè)業(yè)務(wù)應(yīng)用實踐,具有豐富的Hadoop平臺運維,開發(fā)與分析實戰(zhàn)經(jīng)驗 2. 主導(dǎo)過多個大型大數(shù)據(jù)項目的開發(fā),如維達國際大數(shù)據(jù)平臺、中國商品進出口交易中心ETL日志分析大數(shù)據(jù)平臺 3、多年大數(shù)據(jù)與數(shù)據(jù)挖掘等IT領(lǐng)域技術(shù)培訓(xùn)經(jīng)驗,豐富的課程設(shè)計和授課經(jīng)驗。
第1章 大數(shù)據(jù)概述 0
1.1 大數(shù)據(jù)的概念與價值 2
1.1.1 什么是大數(shù)據(jù) 2
1.1.2 大數(shù)據(jù)的來源 4
1.1.3 大數(shù)據(jù)有什么價值 5
1.1.4 如何挖掘企業(yè)大數(shù)據(jù)的價值 6
1.2 大數(shù)據(jù)的關(guān)鍵技術(shù) 7
1.2.1 大數(shù)據(jù)采集、預(yù)處理與存儲管理 7
1.2.2 大數(shù)據(jù)分析與挖掘 8
1.2.3 數(shù)據(jù)可視化 9
1.3 大數(shù)據(jù)產(chǎn)業(yè) 9
1.3.1 數(shù)據(jù)提供 9
1.3.2 技術(shù)提供 9
1.3.3 服務(wù)提供 10
1.4 大數(shù)據(jù)應(yīng)用場景 10
1.5 本章總結(jié) 11
練習(xí)題 12
第2章 Hadoop大數(shù)據(jù)處理平臺 14
2.1 Hadoop平臺概述 16
2.1.1 Hadoop簡介 16
2.1.2 Hadoop的特性 17
2.1.3 Hadoop應(yīng)用現(xiàn)狀 17
2.1.4 Hadoop版本及相關(guān)平臺 18
2.2 Hadoop生態(tài)系統(tǒng) 18
2.2.1 Hadoop存儲系統(tǒng)(HDFS&HBase) 18
2.2.2 Hadoop計算框架(MapReduce&YARN) 19
2.2.3 Hadoop數(shù)據(jù)倉庫(Hive) 20
2.2.4 Hadoop數(shù)據(jù)轉(zhuǎn)換與日志處理(Sqoop&Flume) 20
2.2.5 Hadoop應(yīng)用協(xié)調(diào)與工作流(ZooKeeper&Oozie) 20
2.2.6 大數(shù)據(jù)安全技術(shù)(Kerberos&LDAP) 21
2.2.7 大數(shù)據(jù)即時查詢與搜索(Impala&Solr) 21
2.2.8 大數(shù)據(jù)消息訂閱(Kafka) 21
2.3 Hadoop安裝部署 22
2.3.1 Hadoop規(guī)劃部署 22
2.3.2 Hadoop的安裝方式 23
2.4 華為FusionInsight HD安裝部署 26
2.4.1 FusionInsight HD簡介 26
2.4.2 FusionInsight HD集成設(shè)計 28
2.4.3 FusionInsight HD安裝部署 33
2.4.4 FusionInsight HD重要參數(shù)配置 41
2.5 本章總結(jié) 42
練習(xí)題 43
第3章 大數(shù)據(jù)存儲技術(shù)(HDFS) 44
3.1 概述 46
3.1.1 分布式文件系統(tǒng)的概念與作用 47
3.1.2 HDFS概述 47
3.2 HDFS的相關(guān)概念 48
3.2.1 塊 48
3.2.2 NameNode 49
3.2.3 Secondary NameNode 50
3.2.4 DataNode 51
3.3 HDFS體系架構(gòu)與原理 52
3.3.1 HDFS體系架構(gòu) 52
3.3.2 HDFS的高可用機制 52
3.3.3 HDFS的目錄結(jié)構(gòu) 54
3.3.4 HDFS的數(shù)據(jù)讀寫過程 57
3.4 HDFS接口及其在FusionInsight HD編程中的實踐 58
3.4.1 HDFS常用Shell命令 59
3.4.2 HDFS的Web界面 60
3.4.3 HDFS的Java接口及應(yīng)用實例 62
3.5 本章總結(jié) 67
練習(xí)題 67
第4章 大數(shù)據(jù)離線計算框架(MapReduce & YARN) 70
4.1 MapReduce技術(shù)原理 72
4.1.1 MapReduce概述 73
4.1.2 Map函數(shù)與Reduce函數(shù) 73
4.2 YARN技術(shù)原理 74
4.2.1 YARN的概述與應(yīng)用 74
4.2.2 YARN的架構(gòu) 75
4.2.3 MapReduce的計算過程 76
4.2.4 YARN的資源調(diào)度 78
4.3 FusionInsight HD中MapReduce的應(yīng)用 78
4.3.1 WordCount實例分析 78
4.3.2 MapReduce編程實踐 79
4.4 本章總結(jié) 85
練習(xí)題 86
第5章 大數(shù)據(jù)數(shù)據(jù)庫(HBase) 88
5.1 HBase概述 90
5.1.1 HBase簡介 90
5.1.2 HBase與關(guān)系型數(shù)據(jù)庫的區(qū)別 91
5.1.3 HBase的應(yīng)用場景 92
5.2 HBase的架構(gòu)原理 92
5.2.1 HBase的數(shù)據(jù)模型 92
5.2.2 表和Region 93
5.2.3 HBase的系統(tǒng)架構(gòu)與功能組件 94
5.2.4 HBase的讀寫流程 96
5.2.5 HBase的Compaction過程 97
5.3 FusionInsight HD中HBase的編程實踐 98
5.3.1 FusionInsight HD中HBase的常用參數(shù)配置 98
5.3.2 HBase的常用Shell命令 100
5.3.3 HBase常用的Java API及應(yīng)用實例 103
5.4 本章總結(jié) 118
練習(xí)題 118
第6章 大數(shù)據(jù)數(shù)據(jù)倉庫(Hive) 120
6.1 Hive概述 122
6.1.1 Hive簡介和應(yīng)用 122
6.1.2 Hive的特性 123
6.1.3 Hive與傳統(tǒng)數(shù)據(jù)倉庫的區(qū)別 124
6.2 Hive的架構(gòu)和數(shù)據(jù)存儲 124
6.2.1 Hive的架構(gòu)原理 124
6.2.2 Hive的數(shù)據(jù)存儲模型 127
6.2.3 HiveQL編程 128
6.3 FusionInsight HD中Hive應(yīng)用實踐 132
6.3.1 FusionInsight HD中Hive的常用參數(shù)配置 132
6.3.2 加載數(shù)據(jù)到Hive 133
6.3.3 使用HiveQL進行數(shù)據(jù)分析 135
6.4 本章總結(jié) 139
練習(xí)題 139
第7章 大數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)換(Sqoop與Loader) 142
7.1 Sqoop概述 144
7.1.1 Sqoop簡介與應(yīng)用 145
7.1.2 Sqoop的功能與特性 145
7.1.3 Sqoop與傳統(tǒng)ETL的區(qū)別 146
7.2 FusionInsight HD中Loader的應(yīng)用實踐 146
7.2.1 FusionInsight HD中Loader與Sqoop的對比 147
7.2.2 FusionInsight HD中Loader的參數(shù)配置 148
7.2.3 使用Loader進行數(shù)據(jù)轉(zhuǎn)換 149
7.2.4 Loader的常用Shell命令 150
7.2.5 Loader應(yīng)用實踐 152
7.3 本章總結(jié) 153
練習(xí)題 154
第8章 大數(shù)據(jù)日志處理(Flume) 156
8.1 Flume概述 158
8.1.1 Flume簡介與應(yīng)用 158
8.1.2 Flume的功能與特性 161
8.1.3 Flume與其他主流開源日志收集系統(tǒng)的區(qū)別 162
8.2 FusionInsight HD中Flume的應(yīng)用實踐 162
8.2.1 FusionInsight HD中Flume的常用參數(shù)配置 163
8.2.2 Flume常用的Shell命令 164
8.2.3 Flume與Kafka結(jié)合進行日志處理 165
8.3 本章總結(jié) 168
練習(xí)題 169
第9章 大數(shù)據(jù)實時計算框架(Spark) 170
9.1 Spark概述 172
9.1.1 Spark的概述與應(yīng)用 173
9.1.2 Scala語言介紹 174
9.1.3 Spark生態(tài)系統(tǒng)組件 174
9.1.4 Spark與Hadoop的對比 175
9.2 Spark技術(shù)架構(gòu) 176
9.2.1 Spark的運行原理 176
9.2.2 RDD概念與原理 177
9.2.3 Spark的三種部署方式 181
9.2.4 使用開發(fā)工具測試Spark 182
9.3 FusionInsight HD中Spark應(yīng)用實踐 183
9.3.1 運行Spark Shell 183
9.3.2 進行Spark RDD操作 184
9.3.3 使用Spark客戶端工具運行Spark程序 185
9.4 Spark Streaming 188
9.4.1 Spark Streaming的設(shè)計思想 188
9.4.2 Spark Streaming的應(yīng)用實例 189
9.5 Spark SQL 191
9.5.1 Spark SQL的功能 191
9.5.2 FusionInsight HD中Spark SQL的應(yīng)用實例 192
9.6 Spark MLlib 193
9.6.1 機器學(xué)習(xí)簡介 193
9.6.2 Spark MLlib的功能 194
9.7 Spark GraphX 194
9.7.1 圖計算簡介 194
9.7.2 Spark GraphX功能簡介 195
9.8 本章總結(jié) 195
練習(xí)題 196
第10章 大數(shù)據(jù)流計算 198
10.1 流計算概述 200
10.1.1 靜態(tài)數(shù)據(jù)和流數(shù)據(jù) 201
10.1.2 流計算的概念 201
10.1.3 MapReduce和流計算 202
10.1.4 流計算框架 202
10.2 流計算的處理流程 203
10.2.1 數(shù)據(jù)實時采集 203
10.2.2 數(shù)據(jù)實時計算 203
10.2.3 數(shù)據(jù)實時查詢 203
10.3 Streaming流計算 204
10.3.1 Streaming簡介 204
10.3.2 Streaming的特點 206
10.3.3 Streaming在FusionInsight HD上的應(yīng)用實踐 208
10.3.4 Spark Streaming與Streaming的差異 212
10.4 本章總結(jié) 213
練習(xí)題 213
第11章 數(shù)據(jù)可視化 216
11.1 可視化概述 218
11.1.1 數(shù)據(jù)可視化簡介 219
11.1.2 數(shù)據(jù)可視化的重要性 219
11.1.3 可視化的發(fā)展歷程 219
11.1.4 數(shù)據(jù)可視化的過程 221
11.2 可視化工具 222
11.2.1 入門級工具(Excel) 222
11.2.2 普通工具(R語言) 222
11.2.3 高級工具(Tableau和QlikView) 223
11.3 可視化的典型應(yīng)用 223
11.3.1 可視化在醫(yī)學(xué)上的應(yīng)用 223
11.3.2 可視化在工程中的應(yīng)用 224
11.3.3 可視化在互聯(lián)網(wǎng)的應(yīng)用 225
11.4 本章總結(jié) 225
練習(xí)題 226
第12章 大數(shù)據(jù)行業(yè)應(yīng)用 228
12.1 大數(shù)據(jù)在金融行業(yè)的應(yīng)用 230
12.2 大數(shù)據(jù)在電信行業(yè)的應(yīng)用 232
12.3 大數(shù)據(jù)在公安系統(tǒng)的應(yīng)用 236
12.4 大數(shù)據(jù)在互聯(lián)網(wǎng)行業(yè)的應(yīng)用 237
12.5 本章總結(jié) 237
練習(xí)題 238
術(shù)語表 240
參考文獻 252