前言
第一篇 數據大圖和數據平颱大圖
第1章 數據大圖 2
1.1 數據流程 2
1.1.1 數據産生 3
1.1.2 數據采集和傳輸 5
1.1.3 數據存儲處理 6
1.1.4 數據應用 7
1.2 數據技術 8
1.2.1 數據采集傳輸主要技術 9
1.2.2 數據處理主要技術 10
1.2.3 數據存儲主要技術 12
1.2.4 數據應用主要技術 13
1.3 數據相關從業者和角色 14
1.3.1 數據平颱開發、運維工程師 14
1.3.2 數據開發、運維工程師 15
1.3.3 數據分析工程師 15
1.3.4 算法工程師 16
1.3.5 業務人員 16
1.4 本章小結 17
第2章 數據平颱大圖 18
2.1 離綫數據平颱的架構、技術和設計 19
2.1.1 離綫數據平颱的整體架構 19
2.1.2 數據倉庫技術 20
2.1.3 數據倉庫建模技術 23
2.1.4 數據倉庫邏輯架構設計 26
2.2 實時數據平颱的架構、技術和設計 27
2.2.1 實時數據平颱的整體架構 28
2.2.2 流計算技術 29
2.2.3 主要流計算開源框架 29
2.3 數據管理 32
2.3.1 數據探查 32
2.3.2 數據集成 33
2.3.3 數據質量 33
2.3.4 數據屏蔽 34
2.4 本章小結 35
第二篇 離綫數據開發:大數據開發的主戰場
第3章 Hadoop原理實踐 38
3.1 開啓大數據時代的Hadoop 38
3.2 HDFS和MapReduce優缺點分析 40
3.2.1 HDFS 41
3.2.2 MapReduce 42
3.3 HDFS和MapReduce基本架構 43
3.4 MapReduce內部原理實踐 46
3.4.1 MapReduce邏輯開發 46
3.4.2 MapReduce任務提交詳解 47
3.4.3 MapReduce內部執行原理詳解 48
3.5 本章小結 52
第4章 Hive原理實踐 53
4.1 離綫大數據處理的主要技術:Hive 53
4.1.1 Hive齣現背景 53
4.1.2 Hive基本架構 55
4.2 Hive SQL 56
4.2.1 Hive 關鍵概念 57
4.2.2 Hive 數據庫 59
4.2.3 Hive 錶DDL 60
4.2.4 Hive錶DML 63
4.3 Hive SQL執行原理圖解 65
4.3.1 select 語句執行圖解 66
4.3.2 group by語句執行圖解 67
4.3.3 join語句執行圖解 69
4.4 Hive函數 73
4.5 其他SQL on Hadoop技術 74
4.6 本章小結 76
第5章 Hive優化實踐 77
5.1 離綫數據處理的主要挑戰:數據傾斜 77
5.2 Hive優化 79
5.3 join無關的優化 79
5.3.1 group by引起的傾斜優化 79
5.3.2 count distinct優化 80
5.4 大錶join小錶優化 80
5.5 大錶join大錶優化 82
5.5.1 問題場景 82
5.5.2 方案1:轉化為mapjoin 83
5.5.3 方案2:join時用case when語句 84
5.5.4 方案3:倍數B錶,再取模join 84
5.5.5 方案4:動態一分為二 87
5.6 本章小結 89
第6章 維度建模技術實踐 90
6.1 大數據建模的主要技術:維度建模 90
6.1.1 維度建模關鍵概念 91
6.1.2 維度建模一般過程 95
6.2 維度錶設計 96
6.2.1 維度變化 96
6.2.2 維度層次 99
6.2.3 維度一緻性 100
6.2.4 維度整閤和拆分 101
6.2.5 維度其他 102
6.3 深入事實錶 104
6.3.1 事務事實錶 104
6.3.2 快照事實錶 106
6.3.3 纍計快照事實錶 107
6.3.4 無事實的事實錶 108
6.3.5 匯總的事實錶 108
6.4 大數據的維度建模實踐 109
6.4.1 事實錶 109
6.4.2 維度錶 110
6.5 本章小結 110
第7章 Hadoop數據倉庫開發實戰 111
7.1 業務需求 112
7.2 Hadoop數據倉庫架構設計 113
7.3 Hadoop數據倉庫規範設計 114
7.3.1 命名規範 115
7.3.2 開發規範 115
7.3.3 流程規範 116
7.4 FutureRetailer數據倉庫構建實踐 118
7.4.1 商品維度錶 118
7.4.2 銷售事實錶 120
7.5 數據平颱新架構——數據湖 121
7.6 本章小結 123
第三篇 實時數據開發:大數據開發的未來
第8章 Storm流計算開發 127
8.1 流計算技術的鼻祖:Storm技術 128
8.1.1 Storm基本架構 129
8.1.2 Storm關鍵概念 130
8.1.3 Storm並發 132
8.1.4 Storm核心類和接口 133
8.2 Storm實時開發示例 133
8.2.1 語句生成spout 134
8.2.2 語句分割bolt 135
8.2.3 單詞計數bolt 136
8.2.4 上報bolt 136
8.2.5 單詞計數topology 137
8.2.6 單詞計數並發配置 139
8.3 Storm高級原語Trident 142
8.3.1 Trident引入背景 142
8.3.2 Trident基本思路 142
8.3.3 Trident流操作 143
8.3.4 Trident的實時開發實例 145
8.4 Storm關鍵技術 147
8.4.1 spout的可靠性 147
8.4.2 bolt的可靠性 148
8.4.3 Storm反壓機製 149
8.5 本章小結 150
第9章 Spark Streaming流計算開發 151
9.1 Spark生態和核心概念 151
9.1.1 Spark概覽 151
9.1.2 Spark核心概念 153
9.1.3 Spark生態圈 157
9.2 Spark生態的流計算技術:Spark Streaming 158
9.2.1 Spark Streaming基本原理 159
9.2.2 Spark Streaming核心API 159
9.3 Spark Streaming的實時開發示例 161
9.4 Spark Streaming調優實踐 162
9.5 Spark Streaming關鍵技術 164
9.5.1 Spark Streaming可靠性語義 164
9.5.2 Spark Streaming反壓機製 165
9.6 本章小結 166
第10章 Flink流計算開發 167
10.1 流計算技術新貴:Flink 167
10.1.1 Flink技術棧 168
10.1.2 Flink關鍵概念和基本原理 169
10.2 Flink API 172
10.2.1 API概覽 172
10.2.2 DataStream API 173
10.3 Flink實時開發示例 180
10.4 Flink關鍵技術詳解 182
10.4.1 容錯機製 182
10.4.2 水位綫 184
10.4.3 窗口機製 185
10.4.4 撤迴 187
10.4.5 反壓機製 187
10.5 本章小結 188
第11章 Beam技術 189
11.1 意圖一統流計算的Beam 190
11.1.1 Beam的産生背景 190
11.1.2 Beam技術 191
11.2 Beam技術核心:Beam Model 193
11.3 Beam SDK 196
11.3.1 關鍵概念 196
11.3.2 Beam SDK 197
11.4 Beam窗口詳解 202
11.4.1 窗口基礎 202
11.4.2 水位綫與延遲數據 203
11.4.3 觸發器 204
11.5 本章小結 205
第12章 Stream SQL實時開發實戰 206
12.1 流計算SQL原理和架構 207
12.2 流計算SQL:未來主要的實時開發技術 208
12.3 Stream SQL 209
12.3.1 Stream SQL源錶 209
12.3.2 Stream SQL結果錶 209
12.3.3 Stream SQL維度錶 210
12.3.4 Stream SQL臨時錶 211
12.3.5 Stream SQL DML 211
12.4 Stream SQL的實時開發實戰 212
12.4.1 select操作 212
12.4.2 join操作 214
12.4.3 聚閤操作 218
12.5 撤迴機製 221
12.6 本章小結 222
參考文獻 224
· · · · · · (
收起)