天天看點

我為什麼要寫:新書《離線和實時大資料開發實戰》新書《離線和實時大資料開發實戰》

新書《離線和實時大資料開發實戰》

我為什麼要寫:新書《離線和實時大資料開發實戰》新書《離線和實時大資料開發實戰》
購買連結

(機械工業出版社官方淘寶店鋪)

感謝@薛奎 和@空無 大大寫推薦書評。

空無和薛奎的書評

我為什麼要寫:新書《離線和實時大資料開發實戰》新書《離線和實時大資料開發實戰》

大資料技術一直是個領先網際網路公司的必備核心技術,阿裡巴巴最近10年一直在持續加大投入,并将大資料處理技術用于大量的大規模業務場景。每年雙十一對實時、離線技術也都是極限的考驗,而作者就是在這樣的環境下成長起來,基于真實業務場景鑽研相關的技術,既有實戰也有體系,相信這樣的書會一定會給行業的從業者帶來幫助,尤其是準備用大資料對傳統公司進行改造更新正摩拳擦掌的朋友。

                                       --空無,阿裡巴巴資深總監

這是一本經過實踐淬煉的大資料實操的書,特别是作者在阿裡經曆了不同大資料平台(離線,實時)的演進和疊代,相同的技術,不同的曆煉,得到的領悟與實踐真經一定會不一樣。同類書籍相信不少,而同作者這樣實戰提煉而成的書應該不多。如果你是一個真正想探究并想從事大資料工作的人,相信這本書會給你莫大幫助。

                                       --薛奎,阿裡巴巴資深資料技術專家

 我為什麼寫《離線和實時大資料開發實戰》

念念不忘,終有回響。

撰寫一本關于資料開發相關書的念頭誕生于幾年前我個人學習資料知識的早期,當時我遍尋市面上所有的資料書籍,沒有發現一本系統化講述、同時又從項目實踐角度突出重點的資料開發書籍。

這本書是從2016年底開始構思的,差不多花費了2017年整年的業餘時間至整體成文,再經曆了2018年這幾個月的正文修改、排版調整、圖文編輯、最終定稿、出版印刷,5月初這本書終于正式出版。

這本書主要面向大資料開發的初級和中級人員。

個人非常了解某領域初學者的苦衷,對于領域急需入門者來說,首要最重要的不是具體的API、安裝教程等,而是先找到該領域的知識圖譜,有了它,就可按圖索骥,有所學、有所不學,有所深入,有所了解。

對于大資料技術來說,此種需求更甚,由于社群、商業甚至私人的原因,大資料的技術可以說是五花八門,琳琅滿目,初學者非常容易不知所措,不知從哪裡下手;而另一方面看,理論上來說網際網路上包含了所有的大資料技術,比如你可以去百度、問知乎,但是這些都是碎片化的知識,不成體系,你需要先建立自己的大資料知識架構,然後百度知乎才是你的領域深入器。

本書正是基于這樣的初衷撰寫的,本書最希望的是幫助和加快大資料相關人員建立自己大資料開發領域知識圖譜的過程,能夠更快的了解這片領域,而無需花更長的時間自己去摸索。

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

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

本書的章節安排

本書包含三大部分,共計12章内容。

第一部分為資料大圖和資料平台大圖篇,主要從站在全局的角度,對資料、資料技術、資料相關從業者和角色、離線和實時資料平台架構等給出整體和大圖形式的介紹,其中:

第1章  站在資料的全局角度,對資料流程、流程中涉及的主要資料技術進行了介紹,此外本章還介紹了主要的資料從業者角色和他們的日常工作内容,使讀者有個感性的認識;

第2章  站在資料平台的角度,對離線和實時資料平台架構以及相關的各項技術進行介紹,本章是本書的綱領,同時也給出了資料技術的整體骨架,後續的各章将基于此骨架,具體詳述各項技術;

第二部分為離線資料處理篇,離線資料是目前整個資料開發的根本和基礎,也是目前資料開發的主戰場,本部分詳細介紹了離線資料處理的各種技術,其中:

第3章  詳細介紹離線資料處理的技術基礎Hadoop MapReduce和HDFS,本章主要從執行原理和過程方面介紹了此項技術,此章内容是後續第4章和第5章的基礎;

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

第5章  詳細介紹了Hive的優化技術,包含資料傾斜的概念,join無關的優化技巧,join相關的優化技巧尤其是大表和大表join的可能的優化方案等;

第6章  詳細介紹了資料的次元模組化技術,包含次元模組化的各種概念、次元表和事實表的設計以及大資料時代對于次元模組化的改良和優化等;

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

第三部分為實時資料處理篇,主要介紹了實時資料處理的各項技術,包含Storm、Spark Streaming、Flink、Beam以及流計算SQL等,其中:

第8章  詳細介紹了分布式流式計算最早流行的Storm技術,包含原生Storm以及衍生的Trideng架構;

第9章  主要介紹了Spark生态對于流式資料處理的解決方案Spark Streaming,包含其基本原理介紹、基本API、可靠性、性能調優、資料傾斜和反壓機制等;

第10章 主要介紹了流計算技術新貴Flink技術,Flink兼顧了資料處理的延遲以及吞吐量,而且具有流計算架構應該具有的諸多資料特性,是以被廣泛認可為下一代的流式處理機引擎;

第11章 主要介紹了Google力推的Beam技術,Beam的設計目标就是統一離線批處理和實時流處理的程式設計範式,Beam抽象出的資料處理的通用處理範式“Beam Mode”是流計算技術的核心和精華;

第12章 主要結合Flink SQL和阿裡雲Stream SQL介紹了流計算 SQL以并以典型的幾種實時開發場景為例進行了實時資料開發實戰。