官术网_书友最值得收藏!

前言

上善若水,水善利萬物而不爭。

數據一如水,無色無味,非方非圓,以百態存于自然,于自然無違也。綿綿密密,微則無聲,巨則洶涌;與人無爭卻又容納萬物。

生活離不開水,同樣離不開數據,我們被數據包圍,在數據中生活,在數據中入夢和清醒。

某夜入夢時分,趴桌而眠,偶遇莊周那只彩色翅膀的蝴蝶飛入夢中,在數據上翩翩起舞;清醒時分,蝴蝶化身數據,繼續在眼前飛舞,頓悟大數據之哲學。本書從《道德經》和《莊子》各精選10句名言,并結合大數據相關內容,對名言加以講解,引導大家以老莊的思考方式來認識大數據的內涵,探求老子道之路和莊子智慧之路。

為什么要寫這本書

2014年春天,我所在的知識云團隊聚焦大數據,調研過程中,深深感覺到國內資料匱乏,可供參考的資料僅是Spark官方文檔。團隊人員英文水平參差不齊,Spark官方文檔門檻比較高,學習起來困難重重。

當時和幾個同事一起,對Spark官方文檔進行了翻譯,參考了機械工業出版社《Spark快速數據處理》的小冊子,編了一本《Spark數據處理》內部文檔,解決了一部分問題,并將Spark應用推向具體業務。在實際業務中,相比傳統的數據處理,尤其是實時處理和迭代計算,MapReduce在Spark面前顯得蒼白無力。隨著Spark的應用越來越多,深深感覺到《Spark數據處理》內部文檔的不足,遺憾的是,一直沒有時間進行補充和完善,儼然成了一塊心病。

2014年9月,在機械工業出版社華章公司福川兄的指導下,開始重點思索:Spark解決哪些問題、優勢在哪里、從業人員遇到哪些困難、如何解決這些困難等問題,并得到了吳愛華、呂勁松、代其鋒、馬海平、向海、陳明磊等幾位同事的支持。懷著一顆“附庸風雅”之心,我決定和大家一起寫一本具有一定實戰價值的Spark方面的書籍。

當前大數據從業者,有數據科學家、算法專家、來自互聯網的程序員、來自傳統行業的工程師等,無論來自哪里,作為新一代輕量級計算框架,Spark集成Spark SQL、Spark Streaming、MLlib、GraphX、SparkR等子框架,都提供了一種全新的大數據處理方式,讓從業者的工作變得越來越便捷,也讓機器學習、數據挖掘等算法變得“接地氣”。數據科學家和算法專家越來越了解社會,程序員和工程師有了逆襲的機會。

本書寫作過程中,Spark版本從1.0一直變化到1.5,秉承大道至簡的主導思想,我們盡可能地按照1.5版本進行了統籌,希望能拋磚引玉,以個人的一些想法和見解,為讀者拓展出更深入、更全面的思路。

本書只是一個開始,大數據之漫漫雄關,還需要邁步從頭越。

本書特色

本書雖是大數據相關書籍,但對傳統文化進行了一次緬懷,吸收傳統文化的精華,精選了《道德經》和《莊子》各10句名言,實現大數據和文學的有效統一。結合老子的“無為”和莊子的“天人合一”思想,引導讀者以辯證法思考方式來認識大數據的內涵,探求老子道之路和莊子智慧之路,在大數據時代傳承“老莊哲學”,讓中國古代典籍中的瑰寶繼續發揚下去。

從技術層面上,Spark作為一個快速、通用的大規模數據處理引擎,憑借其可伸縮、基于內存計算等特點,以及可以直接讀寫HDFS上數據的優勢,實現了批處理時更加高效、延遲更低,已然成為輕量級大數據快速處理的統一平臺。Spark集成Spark SQL、Spark Streaming、MLlib、GraphX、SparkR等子框架,并且提供了全新的大數據處理方式,讓從業者的工作變得越來越便捷。本書從基礎講起,針對性地給出了實戰場景;并圍繞DataFrame,兼顧在Spark SQL和Spark ML的應用。

從適合讀者閱讀和掌握知識的結構安排上講,分為“基礎篇”、“實戰篇”、“高級篇”、“擴展篇”四個維度進行編寫,從基礎引出實戰,從實戰過渡高級,從高級進行擴展,層層推進,便于讀者展開討論,深入理解分析,并提供相應的解決方案。

本書的案例都是實際業務中的抽象,都經過具體的實踐。作為本書的延續,接下來會針對Spark機器學習部分進行拓展,期待和讀者早點見面。

讀者對象

(1)對大數據非常感興趣的讀者

伴隨著大數據時代的到來,很多工作都變得和大數據息息相關,無論是傳統行業、IT行業以及移動互聯網行業,都必須要了解大數據的概念,對這部分人員來說,本書的內容能夠幫助他們加深對大數據生態環境和發展趨勢的理解,通過本書可以了解Spark使用場景和存在價值,充分體驗和實踐Spark所帶來的樂趣,如果希望繼續學習Spark相關知識,本書可以作為一個真正的開始。

(2)從事大數據開發的人員

Spark是類Hadoop MapReduce的通用并行計算框架,基于MapReduce算法實現的分布式計算,擁有Hadoop MapReduce所具有的優點,并且克服了MapReduce在實時查詢和迭代計算上較大的不足,對這部分開發人員,本書能夠拓展開發思路,了解Spark的基本原理、編程思想、應用實現和優缺點,參考實際企業應用經驗,減少自己的開發成本,對生產環境中遇到的技術問題和使用過程中的性能優化有很好的指導作用。

(3)從事大數據運維的人員

除了大數據相關的開發之外,如何對數據平臺進行部署、保障運行環境的穩定、進行性能優化、合理利用資源,也是至關重要的,對于一名合格的大數據運維人員來說,適當了解Spark框架的編程思想、運行環境、應用情況是十分有幫助的,不僅能夠很快地排查出各種可能的故障,也能夠讓運維人員和開發人員進行有效的溝通,為推進企業級的運維管理提供參考依據。

(4)數據科學家和算法研究者

基于大數據的實時計算、機器學習、圖計算等是互聯網行業比較熱門的研究方向,這些方向已經有一些探索成果,都是基于Spark實現的,這部分研究人員通過本書的閱讀可以加深對Spark原理與應用場景的理解,對大數據實時計算、機器學習、圖計算等技術框架研究和現有系統改進也有很好的參考價值,借此降低學習成本,往更高層次發展。

如何閱讀本書

本書分為四篇,共計20章內容。

基礎篇(第1~10章),詳細說明什么是Spark、Spark的重要擴展、Spark的部署和運行、Spark程序開發、Spark編程模型以及Spark作業執行解析。

實戰篇(第11~14章),重點講解Spark SQL與DataFrame、Spark Streaming、Spark MLlib與Spark ML、GraphX、SparkR,以及基于以上內容實現大數據分析、系統資源統計、LR模型、二級鄰居關系圖獲取等方面的實戰案例。

高級篇(第15~18章),深入講解Spark調度管理、存儲管理、監控管理、性能調優。

擴展篇(第19~20章),介紹Jobserver和Tachyon在Spark上的使用情況。

其中,第二部分實戰篇為本書重點,如果你沒有充足的時間完成全書的閱讀,可以選擇性地進行重點章節的閱讀。如果你是一位有著一定經驗的資深人員,本書有助于你加深基礎概念和實戰應用的理解。如果你是一名初學者,請在從基礎篇知識開始閱讀。

勘誤和支持

由于筆者的水平有限,編寫時間倉促,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。如果你有更多的寶貴意見,可以通過Spark技術QQ交流群435263033,或者郵箱ustcyujun@163.com聯系到我,期待能夠得到你們的真摯反饋,在技術之路上互勉共進。

致謝

感謝Spark官方文檔,在寫作期間提供給我們最全面、最深入、最準確的參考材料。

感謝我親愛的搭檔向海、代其鋒、馬海平三位大數據專家,在本書寫作遭遇困惑的時候,一直互相鼓勵,對本書寫作堅持不放棄。

感謝知識云團隊的范仲毅、楊志遠、萬文強、張東明、周熠晨、吳增鋒、韓啟紅、呂勁松、張業勝,以及貢獻智慧的陳明磊、林弘杰、王文庭、劉君、汪黎、王慶慶等小伙伴,由于你們的參與使本書完成成為可能。

感謝機械工業出版社華章公司的首席策劃楊福川和編輯高婧雅,在近一年的時間中始終支持我們的寫作,你們的鼓勵和幫助引導我們順利完成全部書稿。

最后,特別感謝我的老婆楊麗靜,在寶寶出生期間,因為麻醉意外躺在病房一個月多的時間里,以微笑的生活態度鼓勵我,時時刻刻給我信心和力量;還有我可愛的寶寶于瀟楊,讓我的努力變得有意義。

謹以此書獻給我親愛的家人,知識云團隊的小伙伴,以及眾多熱愛Spark技術的朋友們!

于俊

主站蜘蛛池模板: 望谟县| 富源县| 永兴县| 沂南县| 洞头县| 永和县| 海丰县| 将乐县| 泽普县| 淳安县| 宜君县| 富阳市| 呼和浩特市| 资中县| 吉木乃县| 太原市| 阿尔山市| 昔阳县| 台安县| 武清区| 河西区| 阳曲县| 永登县| 叙永县| 博罗县| 扎兰屯市| 祁连县| 饶阳县| 马尔康县| 贵德县| 通渭县| 临朐县| 南投市| 北安市| 新竹市| 遂宁市| 华阴市| 白山市| 盐源县| 伊春市| 永平县|