大數(shù)據(jù)平臺架構(gòu)與原型實現(xiàn):數(shù)據(jù)中臺建設(shè)實戰(zhàn)
定 價:108 元
- 作者:耿立超
- 出版時間:2020/6/1
- ISBN:9787121390449
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:412
- 紙張:
- 版次:01
- 開本:16K
目前,在基于大數(shù)據(jù)技術(shù)的數(shù)據(jù)中臺建設(shè)過程中,由于缺乏完備的架構(gòu)參考和類似于“腳手架”的原型項目,很多IT團隊會在工程技術(shù)層面上感到無從下手。開發(fā)人員迫切地需要設(shè)計良好的架構(gòu)參考和簡單易用的原型項目幫助他們快速啟動自己的數(shù)據(jù)中臺建設(shè),本書就是為這一目標而寫作的。本書以大數(shù)據(jù)平臺的架構(gòu)設(shè)計為主題,圍繞一個2萬行源代碼的原型項目講解和演示如何在工程技術(shù)層面構(gòu)建當(dāng)下流行的數(shù)據(jù)中臺。全書涵蓋建設(shè)一個企業(yè)數(shù)據(jù)平臺所需的各個重要環(huán)節(jié),包括基礎(chǔ)設(shè)施建設(shè)、數(shù)據(jù)采集、主數(shù)據(jù)管理、實時計算、批處理與數(shù)據(jù)倉庫、數(shù)據(jù)存儲及作業(yè)調(diào)度,每個環(huán)節(jié)獨立成章,每一章介紹對應(yīng)主題的架構(gòu)方案和技術(shù)選型,然后結(jié)合原型項目講解具體的實現(xiàn)細節(jié)。如果你是一位架構(gòu)師,本書可以幫助你提升對大數(shù)據(jù)平臺的整體把控力;如果你是中高級開發(fā)人員,建議你選擇自己感興趣的章節(jié)深入學(xué)習(xí)原型項目的代碼;如果你是企業(yè)的CIO或數(shù)據(jù)團隊的負責(zé)人,本書的第1、2、4章對于你定制企業(yè)數(shù)據(jù)中臺戰(zhàn)略、規(guī)劃數(shù)據(jù)平臺藍圖及組建數(shù)據(jù)團隊都有重要的參考價值。
耿立超,架構(gòu)師,14年IT系統(tǒng)開發(fā)和架構(gòu)經(jīng)驗,對大數(shù)據(jù)、企業(yè)級應(yīng)用架構(gòu)、SaaS、分布式存儲和領(lǐng)域驅(qū)動設(shè)計有豐富的實踐經(jīng)驗,熱衷函數(shù)式編程。目前負責(zé)企業(yè)數(shù)據(jù)中臺的架構(gòu)設(shè)計和開發(fā)工作,對Hadoop/Spark 生態(tài)系統(tǒng)有深入和廣泛的了解,參與過Hadoop商業(yè)發(fā)行版的開發(fā),曾帶領(lǐng)團隊開發(fā)過多個基于大數(shù)據(jù)技術(shù)的企業(yè)數(shù)據(jù)平臺,完成包含數(shù)據(jù)采集、數(shù)據(jù)倉庫、實時處理和數(shù)據(jù)服務(wù)的完整平臺建設(shè)。
第1章 企業(yè)與數(shù)據(jù) 1
1.1 數(shù)據(jù)的價值 3
1.2 企業(yè)的數(shù)據(jù)應(yīng)用能力 6
1.3 企業(yè)的數(shù)據(jù)技術(shù)成熟度 12
1.4 數(shù)據(jù)團隊建設(shè) 14
1.4.1 大數(shù)據(jù)人才類型 14
1.4.2 數(shù)據(jù)團隊的組織與管理 20
1.5 建設(shè)數(shù)據(jù)文化 25
第2章 聚焦中臺 27
2.1 中臺簡介 27
2.2 企業(yè)信息系統(tǒng)現(xiàn)狀 28
2.2.1 點對點式的系統(tǒng)集成 29
2.2.2 重復(fù)建設(shè) 30
2.2.3 阻礙業(yè)務(wù)沉淀與發(fā)展 31
2.3 煙囪架構(gòu)案例:會員管理 31
2.4 曾經(jīng)的“救贖”——SOA 38
2.5 中臺詳解 41
2.5.1 中臺架構(gòu) 42
2.5.2 中臺的技術(shù)體系 46
2.5.3 中臺的組織架構(gòu) 48
2.5.4 中臺不是“銀彈” 51
2.6 數(shù)據(jù)中臺 52
2.6.1 企業(yè)數(shù)據(jù)資產(chǎn)的現(xiàn)狀 53
2.6.2 數(shù)據(jù)中臺具備的能力 54
2.6.3 數(shù)據(jù)中臺建設(shè)策略 56
第3章 基礎(chǔ)設(shè)施 60
3.1 集群規(guī)劃 61
3.1.1 集群規(guī)模與節(jié)點配置 61
3.1.2 節(jié)點角色分配 63
3.2 創(chuàng)建實例與組網(wǎng) 65
3.2.1 登錄云控制臺 65
3.2.2 創(chuàng)建專有網(wǎng)絡(luò) 67
3.2.3 創(chuàng)建安全組 67
3.2.4 創(chuàng)建實例 72
3.2.5 申請彈性公網(wǎng)IP地址 78
3.3 安裝集群 79
3.3.1 軟件清單 79
3.3.2 環(huán)境預(yù)配置 80
3.3.3 安裝Redis 86
3.3.4 安裝Galera(MySQL集群) 87
3.3.5 搭建本地CDH Repository 100
3.3.6 安裝Cloudera Manager Server 103
3.3.7 安裝CDH 110
3.3.8 高可用配置 114
3.3.9 安裝Spark 2 117
3.3.10 啟用Spark SQL 118
3.4 安裝單節(jié)點集群 121
第4章 架構(gòu)與原型 122
4.1 大數(shù)據(jù)平臺架構(gòu)設(shè)計 123
4.2 原型項目業(yè)務(wù)背景 127
4.3 原型項目架構(gòu)方案 132
4.4 原型項目工程結(jié)構(gòu) 139
4.5 部署原型項目 142
4.5.1 配置服務(wù)器 142
4.5.2 構(gòu)建與部署 151
4.5.3 最小化增量部署 165
第5章 數(shù)據(jù)采集 167
5.1 技術(shù)堆棧與選型 168
5.2 需求與概要設(shè)計 171
5.3 原型項目設(shè)計 173
5.4 生成dummy數(shù)據(jù) 174
5.5 基于Sqoop的批量導(dǎo)入 177
5.5.1 項目原型 177
5.5.2 使用Sqoop 180
5.5.3 增量導(dǎo)入與全量導(dǎo)入 184
5.6 基于Camel的實時采集 185
5.6.1 項目原型 186
5.6.2 基本的數(shù)據(jù)采集 188
5.6.3 應(yīng)對采集作業(yè)超時 193
5.6.4 應(yīng)對數(shù)據(jù)延遲就緒 197
第6章 主數(shù)據(jù)管理 202
6.1 主數(shù)管理據(jù)系統(tǒng)的建設(shè)策略 202
6.2 原型設(shè)計 204
6.3 項目構(gòu)建與運行 205
6.4 使用主數(shù)據(jù) 209
6.5 圍繞主數(shù)據(jù)進行領(lǐng)域建模 209
6.6 主數(shù)據(jù)在內(nèi)存數(shù)據(jù)庫中的組織粒度 219
第7章 實時計算 221
7.1 ETL已死,流計算永存 221
7.2 技術(shù)堆棧與選型 223
7.2.1 Storm 223
7.2.2 Spark Streaming 225
7.2.3 Flink 235
7.2.4 Kafka Stream 237
7.2.5 關(guān)于選型的考量 238
7.3 實時計算需求分析 239
7.4 原型項目介紹與構(gòu)建 241
7.5 流計算工程結(jié)構(gòu) 243
7.6 集成Kafka 245
7.7 集成HBase 246
7.8 基于時間窗口的聚合運算 252
7.9 自定義狀態(tài)的流 255
7.10 自定義狀態(tài)的設(shè)計 260
7.11 Structured Streaming性能相關(guān)的參數(shù) 263
第8章 批處理與數(shù)據(jù)倉庫 266
8.1 大數(shù)據(jù)與數(shù)據(jù)倉庫 266
8.2 數(shù)據(jù)倉庫的基本理論 267
8.2.1 維度和度量 268
8.2.2 事實表和維度表 268
8.2.3 維度的基數(shù) 269
8.2.4 Cube和Cuboid 269
8.2.5 星型模型與雪花模型 269
8.3 批處理需求分析 271
8.4 數(shù)據(jù)倉庫架構(gòu) 272
8.5 原型項目介紹與構(gòu)建 277
8.6 數(shù)據(jù)倉庫工程結(jié)構(gòu) 283
8.7 臨時數(shù)據(jù)層的設(shè)計與構(gòu)建 285
8.8 源數(shù)據(jù)層的設(shè)計與構(gòu)建 286
8.8.1 數(shù)據(jù)模型 287
8.8.2 建表并處理數(shù)據(jù) 288
8.8.3 SQL黏合與作業(yè)提交 293
8.8.4 增量導(dǎo)入與全量導(dǎo)入 298
8.8.5 源數(shù)據(jù)層的表分區(qū) 300
8.8.6 SRC層數(shù)據(jù)歸檔 300
8.9 明細數(shù)據(jù)層的設(shè)計與構(gòu)建 301
8.9.1 數(shù)據(jù)模型 301
8.9.2 建表并處理數(shù)據(jù) 302
8.9.3 合并增量數(shù)據(jù) 305
8.9.4 SQL參數(shù)替換 307
8.10 匯總數(shù)據(jù)層的設(shè)計與構(gòu)建 309
8.10.1 數(shù)據(jù)模型 309
8.10.2 建表并處理數(shù)據(jù) 312
8.10.3 構(gòu)建維度模型 314
8.10.4 緩慢變化維度 318
8.10.5 2型SCD表 320
8.10.6 生成代理主鍵 328
8.10.7 運行示例 329
8.11 實現(xiàn)UDF 332
第9章 數(shù)據(jù)存儲 335
9.1 批處理的數(shù)據(jù)存儲 335
9.2 NoSQL數(shù)據(jù)庫概覽 341
9.3 HBase與Cassandra 343
9.4 HBase的Rowkey設(shè)計 349
9.4.1 “熱點”問題與應(yīng)對策略 349
9.4.2 定長處理 352
9.4.3 最佳實踐 352
9.5 探索HBase二級索引 356
第10章 作業(yè)調(diào)度 364
10.1 技術(shù)堆棧與選型 364
10.2 需求與概要設(shè)計 365
10.3 工作流的組織策略 366
10.4 工程結(jié)構(gòu) 370
10.5 項目構(gòu)建 372
10.6 實現(xiàn)工作流 375
10.7 實現(xiàn)coordinator 381
10.8 部署與提交工作流 385
10.9 作業(yè)依賴管理 389
10.9.1 Oozie的作業(yè)依賴管理 391
10.9.2 原型項目中的作業(yè)依賴 394