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