中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
數據平臺架構與原型實現:數據中臺建設實戰

包郵 數據平臺架構與原型實現:數據中臺建設實戰

作者:耿立超
出版社:電子工業出版社出版時間:2020-07-01
開本: 16開 頁數: 412
中 圖 價:¥69.0(6.4折) 定價  ¥108.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

數據平臺架構與原型實現:數據中臺建設實戰 版權信息

數據平臺架構與原型實現:數據中臺建設實戰 本書特色

適讀人群 :1) 架構師:可提升對大數據平臺的整體把控力;2) 中高級開發人員:可深入學習原型項目代碼;3) CIO或數據團隊的負責人:可參考數據中臺戰略、規劃數據平臺藍圖及組建數據團隊。★ 數據中臺建設工程實戰 首著 ★ 大數據平臺建設腳手架 首著 ★ 涵蓋建設一個企業數據平臺所需各個重要環節 ★ 不僅有架構方案、技術選型,還有實現細節 ★ 更有作者14年相關從業經驗的總結 ★ 以及長達3年的對本書內容的雕琢 ★ 書中的知識和見解可以復用于很多企業 ★ 豐富翔實的原型系統代碼是一份寶貴的“禮物” ★ 這是一本多年大數據平臺建設的總結之作 ★ 也是一本數據中臺工程建設實踐指導之作 ★ 可以說是整個數據行業的“寶貴財富” ★ 不同的讀者都將從本書中獲益匪淺

數據平臺架構與原型實現:數據中臺建設實戰 內容簡介

目前,在基于大數據技術的數據中臺建設過程中,由于缺乏完備的架構參考和類似于“腳手架”的原型項目,很多IT團隊會在工程技術層面上感到無從下手。開發人員迫切地需要設計良好的架構參考和簡單易用的原型項目幫助他們快速啟動自己的數據中臺建設,本書就是為這一目標而寫作的。 《大數據平臺架構與原型實現:數據中臺建設實戰》以大數據平臺的架構設計為主題,圍繞一個2萬行源代碼的原型項目講解和演示如何在工程技術層面構建當下流行的數據中臺。全書涵蓋建設一個企業數據平臺所需的各個重要環節,包括基礎設施建設、數據采集、主數據管理、實時計算、批處理與數據倉庫、數據存儲及作業調度,每個環節獨立成章,每一章介紹對應主題的架構方案和技術選型,然后結合原型項目講解具體的實現細節。 如果你是一位架構師,本書可以幫助你提升對大數據平臺的整體把控力;如果你是中高級開發人員,建議你選擇自己感興趣的章節深入學習原型項目的代碼;如果你是企業的CIO或數據團隊的負責人,本書的第1、2、4章對于你定制企業數據中臺戰略、規劃數據平臺藍圖及組建數據團隊都有重要的參考價值。

數據平臺架構與原型實現:數據中臺建設實戰 目錄

第1章 企業與數據 1

1.1 數據的價值 3

1.2 企業的數據應用能力 6

1.3 企業的數據技術成熟度 12

1.4 數據團隊建設 14

1.4.1 大數據人才類型 14

1.4.2 數據團隊的組織與管理 20

1.5 建設數據文化 25


第2章 聚焦中臺 27

2.1 中臺簡介 27

2.2 企業信息系統現狀 28

2.2.1 點對點式的系統集成 29

2.2.2 重復建設 30

2.2.3 阻礙業務沉淀與發展 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 企業數據資產的現狀 53

2.6.2 數據中臺具備的能力 54

2.6.3 數據中臺建設策略 56


第3章 基礎設施 60

3.1 集群規劃 61

3.1.1 集群規模與節點配置 61

3.1.2 節點角色分配 63

3.2 創建實例與組網 65

3.2.1 登錄云控制臺 65

3.2.2 創建專有網絡 67

3.2.3 創建安全組 67

3.2.4 創建實例 72

3.2.5 申請彈性公網IP地址 78

3.3 安裝集群 79

3.3.1 軟件清單 79

3.3.2 環境預配置 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 安裝單節點集群 121


第4章 架構與原型 122

4.1 大數據平臺架構設計 123

4.2 原型項目業務背景 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 應對采集作業超時 193

5.6.4 應對數據延遲就緒 197


第6章 主數據管理 202

6.1 主數管理據系統的建設策略 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 自定義狀態的流 255

7.10 自定義狀態的設計 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黏合與作業提交 293

8.8.4 增量導入與全量導入 298

8.8.5 源數據層的表分區 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 實現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章 作業調度 364

10.1 技術堆棧與選型 364

10.2 需求與概要設計 365

10.3 工作流的組織策略 366

10.4 工程結構 370

10.5 項目構建 372

10.6 實現工作流 375

10.7 實現coordinator 381

10.8 部署與提交工作流 385

10.9 作業依賴管理 389

10.9.1 Oozie的作業依賴管理 391

10.9.2 原型項目中的作業依賴 394

展開全部

數據平臺架構與原型實現:數據中臺建設實戰 節選

4.3 原型項目架構方案 介紹完原型項目的業務場景之后,接下來就該考慮如何設計原型項目了。盡管原型項目的業務場景可以被設計得足夠簡單(如果作為一個單純的系統去開發,只需要非常簡單的架構就可以支撐了),但是如前所述,我們設計原型項目的目的并不是實現具體的業務功能,而是在原型項目的開發過程中帶領讀者廣泛和深入地接觸大數據平臺上的各種技術并進行工程實踐,所以我們要構建一個盡可能完善的大數據平臺。一個完備的全堆棧大數據平臺涵蓋數據采集、主數據管理、實時處理、批處理、數據服務和數據展示等若干個重要環節。完備而通用的大數據平臺架構參考如圖4-5所示。 首先,外部數據需要被數據采集組件采集到大數據平臺,然后針對實時處理和批處理分別寫入消息隊列和分布式文件系統兩類不同的存儲介質上,因此從一開始,原始數據就冗余了兩份,然后在實時處理和批處理兩條通道上同時對數據進行一系列的驗證、清洗、轉換和計算。實時處理的計算結果通常會寫入一個NoSQL數據庫,以便后續實時查詢,批處理的計算結果往往寫回分布式文件系統。實時處理和批處理在計算過程中都會用到主數據,批處理可以將主數據系統視為一個數據源,將全部主數據導入大數據平臺上使用,這樣處理主數據就與處理普通數據無異,架構上無須做改動。但是對于流處理而言,在處理原始數據時需要實時獲取主數據,必須要有增強的主數據系統為其提供服務。數據經過處理之后,就需要為外部提供服務了。通俗地說,數據服務就是將處理后的數據提供給請求方,不同的數據供給方式將服務于不同的數據應用。常規的數據服務有: ——將體量較小的結果集同步到傳統關系型數據庫,供報表工具或各種應用系統隨時查詢; ——通過構建前端API向前端應用直接提供數據查詢服務; ——通過OLAP引擎構建Cube,支持實時的、多維度的即時查詢。 *后,在數據服務的支撐下,會有一系列的數據可視化工具將數據展示給終端用戶。數據可視化工具一般分為兩大類:一類是傳統的報表工具,另一類是基于Web的頁面或移動端App。前者定制靈活,開發效率高,但是實時性較差,后者需要針對性地開發,定制性較差,成本較高,但是實時性好。 總之,一個完整的大數據平臺都要有數據采集、數據處理(實時處理和批處理)、數據服務和數據展示環節,而這些環節上都有多種實現技術做支撐。每一種產品或工具又各有差異,所以我們接下來要討論一下技術選型。不過要事先說明的是,我們以下對于平臺各個環節上的技術選型只是簡單地給出了*終結果,對于更多候選技術的對比和分析會在后續章節中專門展開。 1. 數據采集 數據采集的技術選型主要的考量點是看其支持的數據源種類和協議是否豐富,對接與開發是否便捷。目前業界較為主流的數據采集工具有Flume、Logstash及Kafka Connect等。其實有一個一直被人忽視但卻是非常理想的數據采集組件——Apache Camel,它主要應用于企業應用集成領域,也被一些系統作為ESB(企業服務總線)使用,其作用是在應用系統林立的企業IT環境中扮演“萬向接頭”的角色,讓數據和信息在各種不同的系統間平滑地交換和流轉。經過多年的積累,Camel已經支持近200種協議或數據源,并且可以完全基于配置實現。我們希望原型項目未來能夠對接非常多的數據源,同時盡可能地通過配置去集成數據源并采集數據,避免編寫大量的代碼,Camel很好地滿足了這些需求,所以,看上去選擇Camel有一些“非主流”,但實際上這個選型是非常明智的,它特別適合企業平臺。當然,作為一個非大數據組件,對于Camel的性能和吞吐量我們要有清醒的認識,這個問題可以通過對數據源進行分組、使用多個Camel實例分區采集數據來解決。 2. 消息隊列 消息隊列的選型是*明朗的,Kafka幾乎是唯一的選擇,原型項目也不例外。 3. 流處理 流處理和批處理都是業務邏輯*集中的地方,也是系統的核心。目前用于流處理的主流技術是Storm和Spark Streaming,對兩者進行比較的文章很多,通常認為Storm具有更高的實時性,可以做到亞秒級的延遲,相比之下Spark Streaming的實時性要差一些,因為它以“micro batch”的方式進行流處理,但是依托Spark這個大平臺,使用Spark Streaming既統一了技術堆棧,又能與其他Spark組件無縫交互,這使得它越來越流行。鑒于在業務上秒級延遲已經可以滿足需求,我們在原型項目上*終選擇了后者。另外,在寫作本書時,Flink在社區的呼聲越來越高,在未來有望成為流計算領域的“新王者”。 4. 批處理 傳統大數據的離線處理多選擇Hive,這在很多項目上被證明是可靠的解決方案。后來隨著Spark的不斷壯大,Spark SQL的使用越來越廣泛,并且Spark SQL完全兼容Hive,這使得遷移工作幾乎沒有任何障礙。對于復雜的業務邏輯或非結構化數據,在Hadoop平臺上一般通過MR編程處理,而在Spark平臺上則是通過Spark Core的RDD編程實現的。如今Spark在大數據處理的很多方面已經取代Hadoop成為大數據的首選技術平臺,所以在批處理的技術選型上我們選擇了“Spark Core + Spark SQL”。 5. 主數據管理 為什么我們要單獨把主數據管理列出來討論呢?實際上在批處理的場景下,主數據和其他數據并沒有質的區別,只是經常會被關聯查詢。但是,對于實時處理情況就完全不同了,實時處理也需要頻繁地用到主數據,但卻不能長期駐留在流計算節點上,因為流計算只能處理當前流經系統的數據,為此,我們必須構建一個統一的主數據管理模塊來為流計算提供主數據服務。當然,如果企業內部已經存在主數據管理系統,也可以在原有系統的基礎上進行改造,改造的重點是提供一種高性能、低延時的數據讀取能力。一般來說,*為常見的做法是將主數據加載到內存數據庫Redis中,同時考慮到主數據日常的增刪查改等日常維護工作,將高性能、低延時的主數據并入主數據管理系統一起維護是常見的做法。所以主數據管理模塊本質上是一個傳統的Web應用,可以選擇基于Spring-Boot構建,使用MySQL作為后臺數據庫,使用Redis同步主數據,對外通過Restful API提供主數據供給服務。 6. 數據服務 企業對于數據的需求是非常多樣化的,盡管大數據平臺提供了一致的、功能強大的數據處理體系,但當數據處理完畢供用戶使用時,根據時效性、數據展示方式、用戶使用習慣等諸多方面的需求,數據需要能以不同的方式和方法提供出去,這就要求企業的數據服務必須多樣化。圖4-5中的數據服務部分,給出了三種代表性的服務形態:面向結果集的關系型數據庫(報表數據庫)、數據API和OLAP引擎。對于批處理而言,雖然外部系統可以通過Hive或Spark SQL提供的JDBC或ODBC驅動獲取數據,但是這種數據請求需要被轉換為批處理作業去執行,無法滿足在線的用戶請求,所以批處理的結果一般都會同步到一個關系型數據庫上,我們可以稱之為報表數據庫,通過這個數據庫對外提供數據。同時,為了能夠讓分析人員迅速、一致、交互地從各個方面觀察信息,很多企業還會建立自己的OLAP引擎,也就是以Cube模型對數據進行建模,提供多維度、實時的分析能力,在大數據平臺上也有相對成熟的OLAP產品,如Kylin。對于實時處理來說,處理結果一般會寫入一個NoSQL數據庫,目前能夠存儲大體量數據的主流NoSQL數據庫有HBase、Cassandra和MongoDB,我們的原型項目選擇的是HBase。NoSQL數據庫相較于Hive或Spark SQL具備完全的時實訪問能力,但不一定有面向應用的成熟的API接口,所以可以基于Web應用技術搭建一個數據訪問服務,這個服務通過NoSQL提供的客戶端類庫訪問數據庫,然后對外暴露Restful API。 7. 數據展示 數據展示有很多技術可以實現,BI報表可以使用Tableau或Qlik Sense,Web頁面上可以使用D3.js、Echarts等JavaScript圖形庫,但這已經不是我們原型項目的重點了,本書不做過多討論。 綜上所述,基于前面的系統架構,本書推薦的技術堆棧如圖4-6所示。 限于本書的篇幅和定位,我們不對數據服務和數據展示做深入探討,原型項目也沒有配套的實現模塊,我們將集中精力處理數據采集、主數據管理、流處理、批處理和作業調度這幾個環節。另外,考慮到有的系統可能只會建設批處理這一條管道,并且企業內部絕大多數的數據源以關系型數據庫為主,原型項目也為批處理單獨配備了一個基于Sqoop的采集模塊,從而便于全面介紹數據導入技術,并盡可能地讓原型項目便于拆分和組合。所以,本書的原型項目*終呈現的架構如圖4-7所示。

數據平臺架構與原型實現:數據中臺建設實戰 作者簡介

耿立超:架構師,擁有14年IT系統開發和架構經驗,在大數據、企業級應用架構、SaaS、分布式存儲和領域驅動設計等方面都有豐富的實踐經驗,熱衷于函數式編程。目前負責企業數據中臺的架構設計和開發工作,對Hadoop和Spark生態系統有深入和廣泛的了解,參與過Hadoop商業發行版的開發,曾帶領團隊開發過多個基于大數據技術的企業數據平臺,完成包含數據采集、數據倉庫、實時處理和數據服務的完整平臺建設。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 江苏密集柜_电动_手动_移动_盛隆柜业江苏档案密集柜厂家 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 广东青藤环境科技有限公司-水质检测 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 深圳湾1号房价_深圳湾1号二手房源 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 磁力轮,磁力联轴器,磁齿轮,钕铁硼磁铁-北京磁运达厂家 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 上海心叶港澳台联考一对一培训_上海心叶港澳台联考,港澳台联考一对一升学指导 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 网站建设_网站制作_SEO优化推广_百度推广开户_朋友圈网络科技 | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 电抗器-能曼电气-电抗器专业制造商 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 不锈钢发酵罐_水果酒发酵罐_谷物发酵罐_山东誉诚不锈钢制品有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 变频器维修公司_plc维修_伺服驱动器维修_工控机维修 - 夫唯科技 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 |