[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • 大數據平臺架構與原型實現:數據中臺建設實戰 計算機與互聯網大
    該商品所屬分類:圖書 ->
    【市場價】
    860-1248
    【優惠價】
    538-780
    【作者】 耿立超 
    【出版社】電子工業出版社 
    【ISBN】9787121390449
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121390449
    商品編碼:10023208115256

    出版時間:1900-01-01
    審圖號:9787121390449
    代碼:108

    作者:耿立超

        
        
    "

    產品特色

    /

    編輯推薦

    適讀人群 :1) 架構師:可提升對大數據平臺的整體把控力;2) 中高級開發人員:可深入學習原型項目代碼;3) CIO或數據團隊的負責人:可參考數據中臺戰略、規劃數據平臺藍圖及組建數據團隊。

    ★ 數據中臺建設工程實戰 首著

    ★ 大數據平臺建設腳手架 首著

    ★ 涵蓋建設一個企業數據平臺所需各個重要環節

    ★ 不僅有架構方案、技術選型,還有實現細節

    ★ 更有作者14年相關從業經驗的總結

    ★ 以及長達3年的對本書內容的雕琢

    ★ 書中的知識和見解可以復用於很多企業

    ★ 豐富翔實的原型繫統代碼是一份寶貴的“禮物”

    ★ 這是一本多年大數據平臺建設的總結之作

    ★ 也是一本數據中臺工程建設實踐指導之作

    ★ 可以說是整個數據行業的“寶貴財富”

    ★ 不同的讀者都將從本書中獲益匪淺


    內容簡介

    目前,在基於大數據技術的數據中臺建設過程中,由於缺乏完備的架構參考和類似於“腳手架”的原型項目,很多IT團隊會在工程技術層面上感到無從下手。開發人員迫切地需要設計良好的架構參考和簡單易用的原型項目幫助他們快速啟動自己的數據中臺建設,本書就是為這一目標而寫作的。

    《大數據平臺架構與原型實現:數據中臺建設實戰》以大數據平臺的架構設計為主題,圍繞一個2萬行源代碼的原型項目講解和演示如何在工程技術層面構建當下流行的數據中臺。全書涵蓋建設一個企業數據平臺所需的各個重要環節,包括基礎設施建設、數據采集、主數據管理、實時計算、批處理與數據倉庫、數據存儲及作業調度,每個環節獨立成章,每一章介紹對應主題的架構方案和技術選型,然後結合原型項目講解具體的實現細節。

    如果你是一位架構師,本書可以幫助你提升對大數據平臺的整體把控力;如果你是中高級開發人員,建議你選擇自己感興趣的章節深入學習原型項目的代碼;如果你是企業的CIO或數據團隊的負責人,本書的第1、2、4章對於你定制企業數據中臺戰略、規劃數據平臺藍圖及組建數據團隊都有重要的參考價值。


    作者簡介

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


    精彩書評

    這本書的架構理論、方案和一些重要建議都經過了實踐檢驗,並取得了良好的效果,我相信書中的知識和見解可以復用於很多企業,幫助他們打破信息孤島,將線上與線下渠道連接在一起,為消費者提供更佳的用戶體驗,並幫助企業在激烈的市場競爭中迅速而敏捷地捕捉商機。

    ——歐萊雅集團亞太區首席信息官 Rita Lau

    本書涵蓋了大數據平臺建設的全部環節,通讀下來,整體上實操性很強,架構原理融於了工程原型的搭建過程,對於希望自己動手實踐的讀者會很有幫助,同時在操作步驟中介紹了相應的邏輯及設計,有利於讀者更好地領會背後的原理。在今天這個時代,我們不見得要自己搭建整個平臺,但是了解原理可以讓自己工作起來事半功倍,不管是自己搭建,還是利用成熟平臺,懂得理論,明白實踐,再開始在企業中搭建數據驅動內部經營的完善體繫就會胸有成竹、遊刃有餘。

    ——彩食鮮CTO、鯤鵬會榮譽導師、蘇寧科技集團原副總裁 喬新亮

    這本書的理論基礎扎實,架構方案完備,更難能可貴的是它還有豐富翔實的原型繫統代碼供讀者參考和學習,這對很多讀者來說是一份寶貴的“禮物”,而作為企業的CTO,這本書給我的驚喜除技術外,它還對企業的數據戰略和中臺架構做了精彩的論述,對很多企業構建數據中臺都有指導意義。這是一本很有誠意、干貨滿滿的書,不僅對程序員、架構師有幫助,也適合CIO、CTO參考。

    ——華住集團技術副總裁及盟廣CTO 王曉光

    數據中臺的概念滿天飛,但是數據中臺的落地始終是一個難點,很難統一。將數據中臺的核心通用組件抽像出來,一步步地指導企業如何去構建,這會是數據中臺領域的下一個課題。這本書率先在這一方向上進行了繫統闡述,它從數據中臺的概念出發,快速落地到實踐指導層面,講解如何從零開始構建數據中臺的核心組件。這是一本靠“堅實的”實踐積累出來的好書!

    ——精益數據體繫創始人、ThoughtWorks數據智能總經理 史凱

    在進行各類數據分析時,都離不開強大而完善的大數據平臺。然而常規的IT數據團隊對於業務方的需求及數據應用不甚了解,這本書對數據工程師有很大的參考價值,可以幫助他們對大數據平臺有一個全面的認識,了解數據從獲取到產出為分析結果這一過程中發生的事情,以便更好地與業務部門協作,實現大數據賦能。

    ——歐萊雅(中國)有限公司大眾化妝品部大數據總監 唐雯

    本書作者曾經分享過很多在中臺繫統落地過程中遇到的問題及解決方案,這些在我們搭建營銷相關的業務中臺過程中很有啟示作用。在每日千萬級交易數據的中臺建設過程中,我們深刻地體會到數據中臺在數據驅動創新方面的價值。本書詳細介紹了數據中臺的技術選型和架構方案,以及落地過程中的一些關鍵要素。希望本書能夠幫助讀者快速搭建自己企業的數據中臺,為業務發展助力。

    ——餓了麼營銷中臺架構師 宋艷飛

    本書作者是一位深耕於大數據領域,並一直奮戰在一線編寫代碼的架構師,作者憑借自身十多年的設計和研發經驗,歸納總結出了這本通俗易懂的大數據架構和技術書籍。內容從企業數據戰略規劃到架構方案設計與技術選型,並從開發人員的實際需要出發給出了詳細的工程代碼,可以說,從理論到實戰都進行了專業而細致的講解。

    ——埃森哲(中國)有限公司技術架構經理 張俊

    這是一本富有實戰色彩的大數據新作,彙聚了作者寶貴的經驗與獨到的觀點。本書涵蓋的知識與內容非常豐富,並呈縱深化結構,除技術內容外,還包括與大數據平臺配套的人纔能力、組織架構與管理方法論,適合不同級別的讀者。

    ——希爾頓酒店集團亞太區數據保護官、國際信息隱私專家協會上海分會前主席 李宵聲


    目錄

    第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

    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等圖形庫,但這已經不是我們原型項目的重點了,本書不做過多討論。


    綜上所述,基於前面的繫統架構,本書推薦的技術堆棧如圖4-6所示。


    限於本書的篇幅和定位,我們不對數據服務和數據展示做深入探討,原型項目也沒有配套的實現模塊,我們將集中精力處理數據采集、主數據管理、流處理、批處理和作業調度這幾個環節。另外,考慮到有的繫統可能隻會建設批處理這一條管道,並且企業內部絕大多數的數據源以關繫型數據庫為主,原型項目也為批處理單獨配備了一個基於Sqoop的采集模塊,從而便於全面介紹數據導入技術,並盡可能地讓原型項目便於拆分和組合。所以,本書的原型項目最終呈現的架構如圖4-7所示。







    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部