前言 ix
* 一部分 分布式計算入門
* 1章 數據產品時代 2
1.1 什么是數據產品 2
1.2 使用Hadoop構建大規(guī)模數據產品 4
1.2.1 利用大型數據集 4
1.2.2 數據產品中的Hadoop 5
1.3 數據科學流水線和Hadoop生態(tài)系統(tǒng) 6
1.4 小結 8
* 2 章 大數據操作系統(tǒng) 9
2.1 基本概念 10
2.2 Hadoop架構 11
2.2.1 Hadoop集群 12
2.2.2 HDFS 14
2.2.3 YARN 15
2.3 使用分布式文件系統(tǒng) 16
2.3.1 基本的文件系統(tǒng)操作 16
2.3.2 HDFS文件權限 18
2.3.3 其他HDFS接口 19
2.4 使用分布式計算 20
2.4.1 MapReduce:函數式編程模型 20
2.4.2 MapReduce:集群上的實現(xiàn) 22
2.4.3 不止一個MapReduce:作業(yè)鏈 27
2.5 向YARN 提交MapReduce 作業(yè) 28
2.6 小結 30
第3 章 Python 框架和Hadoop Streaming 31
3.1 Hadoop Streaming 32
3.1.1 使用Streaming在CSV 數據上運行計算 34
3.1.2 執(zhí)行Streaming作業(yè) 38
3.2 Python 的MapReduce框架 39
3.2.1 短語計數 42
3.2.2 其他框架 45
3.3 MapReduce進階 46
3.3.1 combiner 46
3.3.2 partitioner 47
3.3.3 作業(yè)鏈 47
3.4 小結 50
第4 章 Spark內存計算 52
4.1 Spark基礎 53
4.1.1 Spark棧 54
4.1.2 RDD 55
4.1.3 使用RDD 編程 56
4.2 基于PySpark的交互性Spark 59
4.3 編寫Spark應用程序 61
4.4 小結 67
第5 章 分布式分析和模式 69
5.1 鍵計算 70
5.1.1 復合鍵 71
5.1.2 鍵空間模式 74
5.1.3 pair與stripe 78
5.2 設計模式 80
5.2.1 概要 81
5.2.2 索引 85
5.2.3 過濾 90
5.3 邁向* 后一英里分析 95
5.3.1 模型擬合 96
5.3.2 模型驗證 97
5.4 小結 98
* 二部分 大數據科學的工作流和工具
第6 章 數據挖掘和數據倉 102
6.1 Hive 結構化數據查詢 103
6.1.1 Hive 命令行接口(CLI) 103
6.1.2 Hive 查詢語言 104
6.1.3 Hive 數據分析 108
6.2 HBase 113
6.2.1 NoSQL 與列式數據庫 114
6.2.2 HBase 實時分析 116
6.3 小結 122
第7 章 數據采集 123
7.1 使用Sqoop 導入關系數據 124
7.1.1 從MySQL 導入HDFS 124
7.1.2 從MySQL 導入Hive 126
7.1.3 從MySQL 導入HBase 128
7.2 使用Flume 獲取流式數據 130
7.2.1 Flume 數據流 130
7.2.2 使用Flume 獲取產品印象數據 133
7.3 小結 136
第8 章 使用高 級API 進行分析 137
8.1 Pig 137
8.1.1 Pig Latin 138
8.1.2 數據類型 142
8.1.3 關系運算符 142
8.1.4 用戶定義函數 143
8.1.5 Pig 小結 144
8.2 Spark 高 級API 144
8.2.1 Spark SQL 146
8.2.2 DataFrame 148
8.3 小結 153
第9 章 機器學習 154
9.1 使用Spark 進行可擴展的機器學習 154
9.1.1 協(xié)同過濾 156
9.1.2 分類 161
9.1.3 聚類 163
9.2 小結 166
* 10 章 總結:分布式數據科學實戰(zhàn) 167
10.1 數據產品生命周期 168
10.1.1 數據湖泊 169
10.1.2 數據采集 171
10.1.3 計算數據存儲 172
10.2 機器學習生命周期 173
10.3 小結 175
附錄A 創(chuàng)建Hadoop 偽分布式開發(fā)環(huán)境 176
附錄B 安裝Hadoop 生態(tài)系統(tǒng)產品 184
術語表 193
關于作者 211
關于封面 211