前言
第一篇 基礎篇
第1章 淺談大數據2
1.1 大數據概述3
1.2 大數據平颱4
1.3 本章小結5
第2章 大數據存儲與運算利器—Hadoop6
2.1 Hadoop概述6
2.1.1 Hadoop簡介6
2.1.2 Hadoop存儲—HDFS8
2.1.3 Hadoop計算—MapReduce11
2.1.4 Hadoop資源管理—YARN13
2.1.5 Hadoop生態係統14
2.2 Hadoop配置及IDE配置17
2.2.1 準備工作17
2.2.2 環境配置18
2.2.3 集群啓動關閉與監控24
2.2.4 動手實踐:一鍵式Hadoop集群啓動關閉25
2.2.5 動手實踐:Hadoop IDE配置26
2.3 Hadoop集群命令28
2.3.1 HDFS常用命令hdfs dfs30
2.3.2 動手實踐:hdfs dfs命令實戰31
2.3.3 MapReduce常用命令mapred job32
2.3.4 YARN常用命令yarn jar32
2.3.5 動手實踐:運行MapReduce任務33
2.4 Hadoop編程開發33
2.4.1 HDFS Java API操作33
2.4.2 MapReduce原理35
2.4.3 動手實踐:編寫Word Count程序並打包運行44
2.4.4 MapReduce組件分析與編程實踐46
2.5 K-Means算法原理及HadoopMapReduce實現53
2.5.1 K-Means算法原理53
2.5.2 動手實踐:K-Means算法實現55
2.5.3 Hadoop K-Means算法實現思路55
2.5.4 Hadoop K-Means編程實現57
2.6 TF-IDF算法原理及HadoopMapReduce實現67
2.6.1 TF-IDF算法原理67
2.6.2 Hadoop TF-IDF編程思路67
2.6.3 Hadoop TF-IDF編程實現68
2.7 本章小結79
第3章 大數據查詢—Hive81
3.1 Hive概述81
3.1.1 Hive體係架構82
3.1.2 Hive數據類型86
3.1.3 Hive安裝87
3.1.4 動手實踐:Hive安裝配置91
3.1.5 動手實踐:HiveQL基礎—SQL91
3.2 HiveQL語句93
3.2.1 數據庫操作94
3.2.2 Hive錶定義94
3.2.3 數據導入100
3.2.4 數據導齣103
3.2.5 HiveQL查詢104
3.3 動手實踐:基於Hive的學生信息查詢108
3.4 基於Hive的航空公司客戶價值數據預處理及分析109
3.4.1 背景與挖掘目標109
3.4.2 分析方法與過程111
3.5 本章小結115
第4章 大數據快速讀寫—HBase116
4.1 HBase概述116
4.2 配置HBase集群118
4.2.1 Zookeeper簡介及配置118
4.2.2 配置HBase121
4.2.3 動手實踐:HBase安裝及運行122
4.2.4 動手實踐:ZooKeeper獲取HBase狀態122
4.3 HBase原理與架構組件123
4.3.1 HBase架構與組件123
4.3.2 HBase數據模型127
4.3.3 讀取/寫入HBase數據128
4.3.4 RowKey設計原則129
4.3.5 動手實踐:HBase數據模型驗證131
4.4 HBase Shell操作132
4.4.1 HBase常用Shell命令132
4.4.2 動手實踐:HBase Shell操作136
4.5 Java API &MapReduce與HBase交互137
4.5.1 搭建HBase開發環境137
4.5.2 使用Java API操作HBase錶144
4.5.3 動手實踐:HBase Java API使用147
4.5.4 MapReduce與HBase交互147
4.5.5 動手實踐:HBase錶導入導齣150
4.6 基於HBase的冠字號查詢係統151
4.6.1 案例背景151
4.6.2 功能指標151
4.6.3 係統設計152
4.6.4 動手實踐:構建基於HBase的冠字號查詢係統162
4.7 本章小結175
第5章 大數據處理—Pig176
5.1 Pig概述176
5.1.1 Pig Latin簡介177
5.1.2 Pig數據類型179
5.1.3 Pig與Hive比較179
5.2 配置運行Pig180
5.2.1 Pig配置181
5.2.2 Pig運行模式181
5.3 常用Pig Latin操作182
5.3.1 數據加載182
5.3.2 數據存儲184
5.3.3 Pig參數替換185
5.3.4 數據轉換186
5.4 綜閤實踐194
5.4.1 動手實踐:訪問統計信息數據處理194
5.4.2 動手實踐:股票交易數據處理195
5.5 本章小結196
第6章 大數據快速運算與挖掘—Spark197
6.1 Spark概述197
6.2 Spark安裝集群199
6.2.1 3種運行模式199
6.2.2 動手實踐:配置Spark獨立集群199
6.2.3 3種運行模式實例201
6.2.4 動手實踐:Spark Streaming實時日誌統計205
6.2.5 動手實踐:Spark開發環境—Intellij IDEA配置207
6.3 Spark架構與核心原理212
6.3.1 Spark架構212
6.3.2 RDD原理213
6.3.3 深入理解Spark核心原理215
6.4 Spark編程技巧218
6.4.1 Scala基礎218
6.4.2 Spark基礎編程218
6.5 如何學習Spark MLlib225
6.5.1 確定應用227
6.5.2 ALS算法直觀描述228
6.5.3 編程實現229
6.5.4 問題解決及模型調優233
6.6 動手實踐:基於Spark ALS電影推薦係統234
6.6.1 動手實踐:生成算法包235
6.6.2 動手實踐:完善推薦係統239
6.7 本章小結250
第7章 大數據工作流—Oozie252
7.1 Oozie簡介252
7.2 編譯配置並運行Oozie253
7.2.1 動手實踐:編譯Oozie253
7.2.2 動手實踐:Oozie Server/client配置254
7.3 Oozie WorkFlow實踐257
7.3.1 定義及提交工作流257
7.3.2 動手實踐:MapReduce Work-Flow定義及調度260
7.3.3 動手實踐:Pig WorkFlow定義及調度263
7.3.4 動手實踐:Hive WorkFlow定義及調度265
7.3.5 動手實踐:Spark WorkFlow定義及調度267
7.3.6 動手實踐:Spark On Yarn定義及調度268
7.4 Oozie Coordinator實踐270
7.4.1 動手實踐:基於時間調度270
7.4
· · · · · · (
收起)