-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
10/8 新書到! 10/1 新書到! 9/24 新書到! 9/18 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

離線和實時大數據開發實戰

( 簡體 字)
作者:朱松嶺 著類別:1. -> 程式設計 -> 大數據
譯者:
出版社:機械工業出版社離線和實時大數據開發實戰 3dWoo書號: 48998
詢問書籍請說出此書號!

有庫存
NT售價: 295

出版日:5/1/2018
頁數:215
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111596783
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為什么要寫這本書

念念不忘,終有回響。

撰寫一本數據開發相關書的念頭始于筆者學習數據知識的早期,當時筆者遍尋市面上所有的數據書籍,卻沒有發現一本系統化且從項目實踐角度突出重點的數據開發書籍。

筆者非常理解某領域初學者的苦衷,對于他們來說,最重要的不是具體的API、安裝教程等,而是先找到該領域的知識圖譜,有了它,就可按圖索驥,有針對性地去學。

對于大數據技術來說,上述需求更甚。一方面,由于社區、商業甚至個人原因,大數據的技術可以說是五花八門、琳瑯滿目,初學者非常容易不知所措,不知從哪里下手。另一方面,從理論上來說,互聯網上幾乎可以查到所有的大數據技術,比如在百度上搜索、問知乎,但這些都是碎片化的知識,不成體系,初學者需要先建立自己的大數據知識架構,再進一步深入。

本書正是基于這樣的初衷撰寫的,旨在幫助和加快初學者建立大數據開發領域知識圖譜的過程,帶領初學者更快地了解這片領域,而無須花更長的時間自己去摸索。

當然,未來是DT(Data Technology)時代,隨著人工智能、大數據、云計算的崛起,未來數據將起到關鍵的作用,數據將成為如同水、電、煤一樣的基礎設施。但是,實際上目前數據的價值還遠遠沒有得到充分的挖掘,如醫療數據、生物基因數據、交通物流數據、零售數據等。所以筆者非常希望本書能夠對各個業務領域的業務分析人員、分析師、算法工程師等有所幫助,讓他們更快地熟悉和掌握數據的加工處理知識與技巧,從而能夠更好、更快地分析、挖掘和應用數據,讓數據產生更多、更大的價值。

通過閱讀本書,讀者能建立自己的大數據開發知識體系和圖譜,掌握數據開發的各種技術(包括有關概念、原理、架構以及實際的開發和優化技巧等),并能對實際項目中的數據開發提供指導和參考。

大數據技術日新月異,由于篇幅和時間限制,書中僅講述了當前主要和主流的數據相關技術,如果讀者對大數據開發有興趣,本書將是首選的入門讀物。

本書特色

本書從實際項目實踐出發,專注、完整、系統化地講述數據開發技術,此處的數據開發技術包括離線數據處理技術、實時數據處理技術、數據開發優化、大數據建模、數據分層體系建設等。

我們處于一個信息過度的時代,互聯網涵蓋了人類有史以來的所有知識,浩如煙海。對大數據開發技術來說,更是如此。那么,大數據相關人員如何吸收、消化、應用和擴展自己的技術知識?如何把握相關的大數據技術深度和廣度?深入到何種程度?涉獵到何種范圍?

這是很有意思的問題。筆者認為最重要的是找到錨點,而本書的錨點就是數據開發技術。所以本書的另一個特點是以數據開發實戰作為錨點,來組織、介紹各種數據開發技術,包括各種數據處理技術的深度和廣度把握等。比如在離線數據處理中,目前事實的處理標準是Hive,實際項目中開發者已經很少自己寫Hadoop MapReduce程序來進行大數據處理,那是不是說MapRedue和HDFS就不需要掌握了呢?如果不是,又需要掌握到何種程度呢?筆者的答案是,對于Hive要精深掌握,包括其開發技巧和優化技巧等。MapReduce要掌握執行原理和過程,而MapRedue和HDFS具體的讀數據流程、寫數據流程、錯誤處理、調度處理、I/O操作、各種API、管理運維等,站在數據開發的角度,這些都不是必須掌握的。

本書還有一個特點,就是專門講述了實時數據處理的流計算SQL。筆者認為,未來的實時處理技術的事實標準將會是SQL,實際上這也是正在發生的現實。

讀者對象

本書主要適合于以下讀者,包含:

大數據開發工程師

大數據架構師

數據科學家

數據分析師

算法工程師

業務分析師

其他對數據感興趣的人員

如何閱讀本書

本書內容分為三篇,共12章。

第一篇為數據大圖和數據平臺大圖(第1章和第2章),主要站在全局的角度,基于數據、數據技術、數據相關從業者和角色、離線和實時數據平臺架構等給出整體和大圖形式的介紹。

第1章 站在數據的全局角度,對數據流程以及流程中涉及的主要數據技術進行介紹,還介紹了主要的數據從業者角色和他們的日常工作內容,使讀者有個感性的認識。

第2章 是本書的綱領性章節,站在數據平臺的角度,對離線和實時數據平臺架構以及相關的各項技術進行介紹。同時給出數據技術的整體骨架,后續的各章將基于此骨架,具體詳述各項技術。

第二篇為離線數據開發:大數據開發的主戰場(第3∼7章),離線數據是目前整個數據開發的根本和基礎,也是目前數據開發的主戰場。這一部分詳細介紹離線數據處理的各種技術。

第3章 詳細介紹離線數據處理的技術基礎Hadoop MapReduce和HDFS。本章主要從執行原理和過程方面介紹此項技術,是第4章和第5章的基礎。

第4章 詳細介紹Hive。Hive是目前離線數據處理的主要工具和技術。本章主要介紹Hive的概念、原理、架構,并以執行圖解的方式詳細介紹其執行過程和機制。

第5章 詳細介紹Hive的優化技術,包括數據傾斜的概念、join無關的優化技巧、join相關的優化技巧,尤其是大表及其join操作可能的優化方案等。

第6章 詳細介紹數據的維度建模技術,包括維度建模的各種概念、維度表和事實表的設計以及大數據時代對維度建模的改良和優化等。

第7章 主要以虛構的某全國連鎖零售超市FutureRetailer為例介紹邏輯數據倉庫的構建,包括數據倉庫的邏輯架構、分層、開發和命名規范等,還介紹了數據湖的新數據架構。

第三篇為實時數據開發:大數據開發的未來(第8∼12章),主要介紹實時數據處理的各項技術,包括Storm、Spark Streaming、Flink、Beam以及流計算SQL等。

第8章 詳細介紹分布式流計算最早流行的Storm技術,包括原生Storm以及衍生的Trident框架。

第9章 主要介紹Spark生態的流數據處理解決方案Spark Streaming,包括其基本原理介紹、基本API、可靠性、性能調優、數據傾斜和反壓機制等。

第10章 主要介紹流計算技術新貴Flink技術。Flink兼顧數據處理的延遲與吞吐量,而且具有流計算框架應該具有的諸多數據特性,因此被廣泛認可為下一代的流式處理引擎。

第11章 主要介紹Google力推的Beam技術。Beam的設計目標就是統一離線批處理和實時流處理的編程范式,Beam抽象出數據處理的通用處理范式Beam Model,是流計算技術的核心和精華。

第12章 主要結合Flink SQL和阿里云Stream SQL介紹流計算SQL,并以典型的幾種實時開發場景為例進行實時數據開發實戰。

勘誤和支持

本書是筆者對大數據開發知識的“一孔之見”,囿于個人實踐、經驗以及時間關系,難免有偏頗和不足,書中也難免出現一些錯誤、不準確之處和個人的一些主觀看法,懇請讀者不吝賜教。你可以通過以下方式聯系筆者。

希望與大家共同交流、學習,共同促進數據技術和數據行業的發展,讓數據發揮更大的價值。

致謝

首先非常感謝Apache基金會,在筆者撰寫各個開源技術框架相關內容的過程中,Apache官方文檔提供了最全面、最深入、最準確的參考材料。

感謝互聯網上無名的眾多技術博客、文章撰寫者,對于數據技術和生態的繁榮,我們所有人都是不可或缺的一分子。

感謝阿里巴巴公司智能服務事業部數據技術團隊的全部同事,尤其薛奎、默嶺、蕭克、延春、鐘雷、建幀、思民、宇軒、賽俠、紫豪、松坡、賈栩、丘少、茅客等,與他們的日常交流讓我受益頗多。

感謝機械工業出版社華章策劃編輯高婧雅,從選題到定稿再到本書的出版,她提供了非常專業的指導和幫助。

特別致謝

特別感謝我的妻子李燦萍和我們的女兒六一,你們永遠是我的力量源泉。

同時感謝我的父母和岳父岳母,有了你們的諸多照顧和支持,我才有時間和精力去完成額外的寫作。

謹以此書獻給我的家人,以及直接或間接讓數據發揮價值的所有朋友們!



朱松嶺(邦中)
內容簡介:

阿里巴巴大數據開發專家撰寫,源于十余年工作實踐,只講實用有效的“招式”。庖丁解牛式式講解離線和實時開發平臺架構、原理、開發示例,涵蓋查詢與優化、建模、數倉開發、流計算開發等核心技術。

本書包含三篇,共計12章內容。

第一篇——數據大圖和數據平臺大圖(第1∼2章),主要站在數據處理和數據處理平臺的角度,對數據、數據技術、數據相關從業者與角色、離線與實時數據平臺架構等,給出整體性介紹。

第二篇——離線數據處理(第3∼7章),離線數據是目前整個數據開發的根本和主戰場,本篇詳細介紹了離線數據處理的各種技術:Hadoop MapReduce、HDFS和Hive的架構、關鍵原理與使用,以及Hive優化實踐、數據建模設計與改良、虛構的某全國連鎖零售超市的數據倉庫/數據湖實踐。

第三篇——實時數據處理(第8∼12章),主要介紹了實時數據處理的各項技術,包含Storm、Spark Streaming、Flink、Beam以及流計算SQL等,結合案例講解實時開發原理、實踐、性能優化、數據傾斜和反壓機制等。
目錄:

前言
第一篇 數據大圖和數據平臺大圖
第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
序: