本書涵蓋瞭開發及維護生産級Spark應用的各種方法、組件與有用實踐。作者均為大數據社區的知名專傢,帶著你一步步從概念驗證或Spark應用的demo版遷移到生産環境,用真實案例分析常見問題、限製、挑戰和機會。
調優Spark應用
管理資源、組織存儲、做好監控
瞭解在生産環境中使用Spark時有哪些潛在的問題
知曉Spark用在何處*能發揮作用
預估集群的規模,搞清楚硬件需求
通過內存管理、分區、shuffle等技術提升性能
用Kerberos保證數據的安全
解決Spark streaming在生産環境中的問題
將Spark與Yarn、Mesos、Tachyon等集成
本書針對spark從驗證性環境遷移到實際生産環境時會遇到的各種問題給齣瞭實際的幫助,涵蓋瞭開發及維護生産級Spark應用的各種方法、組件與有用實踐。全書分為6章,第1 ~ 2章幫助讀者深入理解Spark的內部機製以及它們在生産流程中的含義;第3章和第5章闡述瞭針對配置參數的法則和權衡方案,用來調優Spark,改善性能,獲得高可用性和容錯性;第4章專門討論Spark應用中的安全問題;第6章則全麵介紹生産流,以及把一個應用遷移到一個生産工作流中時所需要的各種組件,同時對Spark生態係統進行瞭梳理。
Ilya Ganelin 從機器人專傢成功跨界成為一名數據工程師。他曾在密歇根大學花費數年時間研究自發現機器人(self-discovering robot),在波音公司從事手機及無綫嵌入式DSP(數據信號處理)軟件開發項目,隨後加入Capital One 的數據創新實驗室,由此進入大數據領域。Ilya是Apache Spark核心組件的活躍貢獻者以及Apache Apex的提交者(committer),他希望研究構建下一代分布式計算平颱。同時,Ilya還是一個狂熱的麵包烘焙師、廚師、賽車手和滑雪愛好者。
Ema Orhian 是一位對伸縮性算法充滿激情的大數據工程師。她活躍於大數據社區,組織會議,在會上發錶演講,積極投身於開源項目。她是jaws-spark-sql-rest(SparkSQL數據倉庫上的一種資源管理器)的主要提交者。Ema一直緻力於將大數據分析引入醫療領域,開發一個對大型數據集計算統計指標的端到端的管道。
Kai Sasaki 是一位日本軟件工程師,對分布式計算和機器學習很感興趣。但是一開始他並未從事Hadoop或Spark相關的工作,他最初的興趣是中間件以及提供這些服務的基礎技術,是互聯網驅使他轉嚮大數據技術領域。Kai一直是Spark的貢獻者,開發瞭不少MLlib和ML庫。如今,他正嘗試研究將機器學習和大數據結閤起來。他相信Spark在大數據時代的人工智能領域也將扮演重要角色。他的GitHub地址為:https://github.com/Lewuathe。
Brennon York既是一名特技飛行員,也是一位計算機科學傢。他的愛好是分布式計算、可擴展架構以及編程語言。自2014年以來,他就是Apache Spark的核心貢獻者,目標是通過發展GraphX和核心編譯環境,培育一個更強大的Spark社區,激發更多閤作。從為Spark提交貢獻開始,York就一直在用Spark,而且從那個時候開始,就使用Spark將應用帶入生産環境。
李剛,曾在IBM工作近20年,在數據中心IT建設、優化及管理領域有深入的研究和豐富的經驗。在IBM期間負責IBM係統服務相關解決方案的開發與管理,其中包含數據中心基礎設施與IT技術瓶體、數據中心高可用性管理暨災難恢復,以及企業IT戰略及IT架構優化等相關領域。
第1 章 成功運行Spark job / 1
安裝所需組件 / 2
原生安裝Spark Standalone 集群 /3
分布式計算的發展史/ 3
步入雲時代 /5
理解資源管理/6
使用各種類型的存儲格式 /9
文本文件/11
Sequence 文件/13
Avro 文件/ 13
Parquet 文件 /13
監控和度量的意義/ 14
Spark UI/ 14
Spark Standalone UI/ 17
Metrics REST API / 17
Metrics System / 18
外部監控工具 / 18
總結 /19
第2 章 集群管理 /21
背景知識/ 23
Spark 組件 / 26
Driver / 27
workers 與executors /28
配置 / 30
Spark Standalone/33
架構 / 34
單節點設置場景 / 34
多節點設置 / 36
YARN / 36
架構 / 38
動態資源分配 /41
場景 /43
Mesos/ 45
安裝/46
架構 / 47
動態資源分配/ 49
基本安裝場景 / 50
比較 / 52
總結 /56
第3 章 性能調優 /59
Spark 執行模型/ 60
分區 /62
控製並行度/62
分區器/64
shuffle 數據 /65
shuffle 與數據分區 / 67
算子與shuffle / 70
shuffle 並不總是壞事 /75
序列化 / 75
Kryo 注冊器 / 77
Spark 緩存 / 77
SparkSQL 緩存 / 81
內存管理 /82
垃圾迴收 / 83
共享變量 / 84
廣播變量 / 85
纍加器 /87
數據局部性 / 90
總結 / 91
第4 章 安全/ 93
架構/ 94
Security Manager/ 94
設定配置 / 95
ACL / 97
配置 / 97
提交job / 98
Web UI/ 99
網絡安全 / 107
加密/ 108
事件日誌 /113
Kerberos/114
Apache Sentry./114
總結 /115
第5 章 容錯或job 執行/ 117
Spark job 的生命周期 /118
Spark master /119
Spark driver/ 122
Spark worker /124
job 生命周期 /124
job 調度 /125
應用程序內部調度 / 125
用外部工具進行調度 / 133
容錯 /135
內部容錯與外部容錯 / 136
SLA/ 137
RDD / 138
Batch vs Streaming / 145
測試策略 / 148
推薦配置/ 155
總結 / 158
第6 章 超越Spark /159
數據倉庫 /159
SparkSQL CLI/161
Thrift JDBC/ODBC 服務器 / 162
Hive on Spark/ 162
機器學習 / 164
DataFrame / 165
MLlib 和ML / 167
Mahout on Spark / 174
Hivemall On Spark/ 175
外部的框架 / 176
Spark Package / 177
XGBoost/ 179
spark-jobserver / 179
未來的工作 /182
與參數服務器集成 / 184
深度學習 / 192
Spark 在企業中的應用 / 200
用Spark 及Kafka 收集用戶活動日誌 / 200
用Spark 做實時推薦/ 202
Twitter Bots 的實時分類 / 204
總結 / 205
引言
Apache Spark 一個易於掌握的、麵嚮大規模計算的分布式計算框架。它又被稱為“計算網格”或者“計算框架”——考慮到Spark 使開發人員能夠便捷地獲得大量數據且進行分析,這些說法也是正確的。
Apache Spark 由Matei Zaharia 2009 年在加州大學伯剋利分校創建,一開始把它作為一個研究項目,後來在2010 年捐給開源社區。2013 年,Spark 作為一個孵化項目加入Apache 軟件基金會,並於2014 年成為頂級項目(TLP),一直發展到現在。
本書麵嚮的讀者
如果你拿起這本書,我們認為你應該對Spark 非常感興趣。本書麵嚮的讀者群體是開發人員、Spark 應用的項目經理,以及那些準備考慮將開發的Spark 應用程序遷移到生産環境的係統管理員(或者DevOps)。
涵蓋的內容
本書涵蓋瞭開發及維護生産級Spark 應用的各種方法論、組件與最佳實踐。也就是說,我們假設你已經有一個或者打算開發一個Spark 應用,並且具備Spark 的一些基礎知識。
內容結構
本書分為6 章,旨在傳授給讀者以下知識:
? 深入理解Spark 的內部機製以及它們在生産流程中的含義。
? 一組針對配置參數的法則和權衡方案,用來調優Spark 以獲得高可用性和容錯性。
? 全麵瞭解生産流,以及把一個應用遷移到一個生産工作流中時所需要的各種組件。
讀者需要具備的知識
作為讀者,你應該具備基本的Spark 開發及使用的知識。本書不會講述入門級內容。市麵上有許多關於Spark 入門的書籍、論壇及各類資源,如果你對某部分的知識點有所缺失,可以閱讀相關主題的資料以便更好地理解本書所錶達的內容。本書示例的源代碼可從Wiley 網站上下載:( www.wiley.com/go/sparkbigdataclustercomputing。)
格式的約定
為幫助你瞭解本書的內容及主綫,在本書用瞭一些格式約定。
注意 這個樣例錶示注意事項、小提示、暗示、技巧,或者當前討論的旁白。
? 當介紹一些新的術語和重要的詞時,會采用黑體(中文)或者加粗(英文)。
? 在文本裏顯示代碼時會使用代碼體, 譬如: persistence.properties。
源碼
學習本書中的示例時,你可以選擇手動輸入所有代碼,或使用本書所配套的源
碼文件。所有的源碼均可從www.wiley.com 下載。對於本書,下載頁麵在
www.wiley.com/go/sparkbigdataclustercomputing 的“Download Code”
標簽頁上。
可以在www.wiley.com 上通過英文版的ISBN(978-1-119-25401-0)來搜索本
書。
你也可以在https://github.com/backstopmedia/sparkbook 上找到
這些文件。
下載完代碼,隨便用哪種解壓工具解壓即可。
讀者服務
輕鬆注冊成為博文視點社區用戶(www.broadview.com.cn),掃碼直達本書頁麵。
? 提交勘誤:您對書中內容的修改意見可在 提交勘誤 處提交,若被采納,將獲贈博文視點社區積分(在您購買電子書時,積分可用來抵扣相應金額)。
? 交流互動:在頁麵下方 讀者評論 處留下您的疑問或觀點,與我們和其他讀者一同學習交流。
頁麵入口:http://www.broadview.com.cn/31364
這次入手《Spark:大數據集群計算的生産實踐》,完全是衝著它“生産實踐”這幾個字去的。我太需要一本能夠指導我在實際生産環境中如何將Spark用到極緻的書瞭。市麵上很多書都講概念,講API,但真正到瞭落地的時候,問題就層齣不窮。我非常好奇這本書會不會講解如何針對不同的業務場景,選擇閤適的Spark應用策略?比如,是使用Spark Core、Spark SQL、Spark Streaming還是MLlib?書中會不會有關於Spark集群的監控、日誌分析、性能瓶頸定位的實用技巧?我期待這本書能夠解答我在工作中遇到的那些“疑難雜癥”,比如如何優化Spark作業的內存占用,如何有效進行數據傾斜的處理,如何在分布式環境下保證數據的一緻性。這本書會不會像一本“武功秘籍”,將那些高深莫測的大數據計算的“內功心法”和“招式套路”都一一揭示,讓我能夠融會貫通,真正成為一名閤格的大數據工程師?
評分拿到《Spark:大數據集群計算的生産實踐》,我的第一反應就是“這下有救瞭”!市麵上關於Spark的書籍不少,但很多都停留在API的介紹,或者是一些基礎概念的解釋,對於如何在復雜的生産環境中真正地利用好Spark,卻語焉不詳。我希望這本書能夠填補這個空白。我特彆關注它在“生産實踐”方麵的內容,比如如何進行Spark集群的高可用配置,如何處理海量數據的ETL流程,如何在Spark Streaming中實現低延遲的數據處理,以及如何與HDFS、Hive、HBase等其他大數據組件進行無縫集成。有沒有關於Spark安全性的討論?在生産環境中,安全問題可是重中之重。我設想書中會有很多圖錶和代碼示例,能夠清晰地展示各種場景下的解決方案,讓我能夠快速理解並應用到自己的工作中。這本書會不會像一個經驗豐富的架構師,指導我如何從零開始搭建一個健壯、高效、可擴展的Spark大數據平颱?
評分哇,剛入手《Spark:大數據集群計算的生産實踐》,迫不及待想和大傢分享一下我這幾天的“探索”曆程!這本書的封麵設計就挺吸引人的,那種科技感十足的藍色調,加上“Spark”這個名字,感覺撲麵而來一股強大的計算能力。我之前接觸過一些大數據工具,但總覺得少瞭點實戰的深度,很多概念停留在理論層麵,遇到實際問題就束手無策。這本《Spark:大數據集群計算的生産實踐》光看目錄就感覺內容相當紮實,特彆是那些關於“生産實踐”的章節,聽起來就特彆接地氣。我特彆好奇它會如何講解Spark的部署、調優,還有在實際生産環境中遇到的各種坑和解決方案。這本書會不會像一個經驗豐富的技術前輩,手把手地教我如何在真實的大數據場景中駕馭Spark,讓我的項目跑得更快、更穩、更高效?我真的很期待書中能有那些“乾貨”滿滿的案例分析,讓我能對照著自己的工作,找到改進的方嚮。畢竟,理論知識再多,不如實際操作中能解決問題來得實在。希望能在這本書裏找到通往Spark高手之路的秘籍!
評分這本書的齣現,簡直是給我在大數據領域摸爬滾打的同行們送上瞭一份及時雨!我們經常會在項目中遇到性能瓶頸,明明數據量沒到爆炸的程度,Spark作業卻跑得像蝸牛一樣慢,那時候真是抓耳撓腮。閱讀《Spark:大數據集群計算的生産實踐》,我最期待的就是它能揭示那些隱藏在代碼背後的性能奧秘。是不是有關於內存管理、Shuffle過程、數據序列化的深度解析?會不會有那種一看就懂、一用就靈的調優技巧?我特彆想知道,那些在大型企業生産環境中,Spark集群是如何被規劃、部署和維護的,有沒有什麼最佳實踐可以藉鑒?這本書的標題裏“生産實踐”四個字,讓我感覺它不像是一本枯燥的教科書,而更像是一本實戰手冊,裏麵充滿瞭作者們在血與淚的教訓中提煉齣來的寶貴經驗。我希望它能給我帶來一些“啊,原來是這樣!”的頓悟時刻,讓我能夠更有信心地去應對那些復雜的大數據計算挑戰。
評分說實話,自從工作以來,大數據一直是我學習路上的一個重要課題,而Spark更是其中的重中之重。市麵上關於Spark的書籍很多,但總感覺有些不夠“深入”,或者不夠“實戰”。《Spark:大數據集群計算的生産實踐》這個書名,立刻就吸引瞭我的目光。我希望這本書能夠超越那些流於錶麵的介紹,真正地剖析Spark在生産環境中的應用。它會不會深入講解Spark的內部原理,比如RDD的演進、DAG調度器的優化、Catalyst的查詢優化過程?我特彆期待書中關於Spark集群資源管理、作業調度、故障恢復等方麵的實踐經驗分享。在實際工作中,我們經常會遇到各種各樣意想不到的問題,我希望這本書能夠提供一些處理這些問題的有效方法和工具。如果它能包含一些真實的案例分析,並且分析得深入透徹,那就太棒瞭!這本書會不會讓我感覺,我不是一個人在戰鬥,而是有這位“前輩”在身後指點迷津?
評分好書,值得閱讀,收藏呀
評分可以, 書不錯
評分一直在京東購書~速度快~態度好
評分偏重運維的內容多
評分一直在京東購書~速度快~態度好
評分偏重運維的內容多
評分可以, 書不錯
評分可以, 書不錯
評分這本書同事推薦的,確實不錯,值得大傢閱讀。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有