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