| 機工 spark快數數據處理 | ||
| 定價 | 29.00 | |
| 齣版社 | 機械工業齣版社 | |
| 版次 | 1版1次印刷 | |
| 齣版時間 | 2014年05月 | |
| 開本 | 大32開 | |
| 作者 | (美)凱洛 著,餘璜 張磊 譯 | |
| 裝幀 | 平裝 | |
| 頁數 | 114 | |
| 字數 | --- | |
| ISBN編碼 | 9787111463115 | |
Spark是個開源的通用並行分布式計算框架,由加州大學伯剋利分校的AMP實驗室開發,支持內存計算、多迭代批量處理、即席查詢、流處理和圖計算等多種範式。Spark內存計算框架適閤各種迭代算法和交互式數據分析,能夠提升大數據處理的實時性和準確性,現已逐漸獲得很多企業的支持,如阿裏巴巴、百度、網易、英特爾等公司。
本書係統講解Spark的使用方法,包括如何在多種機器上安裝Spark,如何配置個Spark集群,如何在交互模式下運行個Spark作業,如何在Spark集群上構建個生産級的脫機/獨立作業,如何與Spark集群建立連接和使用SparkContext,如何創建和保存RDD(彈性分布式數據集),如何用Spark分布式處理數據,如何設置Shark,將Hive查詢集成到你的Spark作業中來,如何測試Spark作業,以及如何提升Spark任務的性能。
譯者序
作者簡介
前言
1章 安裝Spark以及構建Spark集群
1.1 單機運行Spark
1.2 在EC2上運行Spark
1.3 在ElasticMapReduce上部署Spark
1.4 用Chef(opscode)部署Spark
1.5 在Mesos上部署Spark
1.6 在Yarn上部署Spark
1.7 通過SSH部署集群
1.8 鏈接和參考
1.9 小結
2章 Sparkshell的使用
2.1 加載個簡單的text文件
2.2 用Sparkshell運行邏輯迴歸
2.3 交互式地從S3加載數據
2.4 小結
3章 構建並運行Spark應用
3.1 用sbt構建Spark作業
3.2 用Maven構建Spark作業
3.3 用其他工具構建Spark作業
3.4 小結
4章 創建SparkContext
4.1 Scala
4.2 Java
4.3 Java和Scala共享的API
4.4 Python
4.5 鏈接和參考
4.6 小結
5章 加載與保存數據
5.1 RDD
5.2 加載數據到RDD中
5.3 保存數據
5.4 連接和參考
5.5 小結
6章 操作RDD
6.1 用Scala和Java操作RDD
6.2 用Python操作RDD
6.3 鏈接和參考
6.4 小結
7章 Shark-Hive和Spark的綜閤運用
7.1 為什麼用HiveShark
7.2 安裝Shark
7.3 運行Shark
7.4 加載數據
7.5 在Spark程序中運行HiveQL查詢
7.6 鏈接和參考
7.7 小結
8章 測試
8.1 用Java和Scala測試
8.2 用Python測試
8.3 鏈接和參考
8.4 小結
9章 技巧和竅門
9.1 日誌位置
9.2 並發限製
9.3 內存使用與垃圾迴收
9.4 序列化
9.5 IDE集成環境
9.6 Spark與其他語言
9.7 安全提示
9.8 郵件列錶
9.9 鏈接和參考
9.10 小結
Holden Karau 資深軟件開發工程師,現就職於Databricks公司,之前曾就職於榖歌、、微軟和Foursquare等著名公司。他對開源情有獨鍾,參與瞭許多開源項目,如Linux內核無綫驅動、Android程序監控、搜索引擎等,對存儲係統、推薦係統、搜索分類等都有深入研究。
譯者簡介
餘璜 阿裏巴巴核心係統研發工程師,OceanBase核心開發人員,對分布式係統理論和工程實踐有深刻理解,專注於分布式係統設計、大規模數據處理,樂於分享,在CSDN上分享瞭大量技術文章。
張磊 Spark愛好者,曾參與分布式OLAP數據庫係統核心開發,熱衷於大數據處理、分布式計算。
從實用角度係統講解Spark的數據處理工具及使用方法
手把手教你充分利用Spark提供的各種功能,快速編寫高效分布式程序
1章 安裝Spark以及構建
Spark集群
1.1 單機運行Spark
1.2 在EC2上運行Spark
1.3 在ElasticMapReduce上部署Spark
1.4 用Chef(opscode)部署Spark
1.5 在Mesos上部署Spark
1.6 在Yarn上部署Spark
1.7 通過SSH部署集群
1.8 鏈接和參考
1.9 小結
本章將詳細介紹搭建Spark的常用方法。Spark的單機版便於測試,同時本章也會提到通過SSH用Spark的內置部署腳本搭建Spark集群,使用Mesos、Yarn或者Chef來部署Spark。對於Spark在雲環境中的部署,本章將介紹在EC2(基本環境和EC2MR)上的部署。如果你的機器或者集群中已經部署瞭Spark,可以跳過本章直接開始使用Spark編程。
不管如何部署Spark,首先得獲得Spark的個版本,截止到寫本書時,Spark的新版本為0.7版。對於熟悉github的程序員,則可以從git://github.com/mesos/spark.git直接復製Spark項目。Spark提供基本源碼壓縮包,同時也提供已經編譯好的壓縮包。為瞭和Hadoop分布式文件係統(HDFS)交互,需要在編譯源碼前設定相應的集群中所使用的Hadoop版本。對於0.7版本的Spark,已經編譯好的壓縮包依賴的是1.0.4版本的Hadoop。如果想更深入地學習Spark,推薦自己編譯基本源碼,因為這樣可以靈活地選擇HDFS的版本,如果想對Spark源碼有所貢獻,比如提交補丁,自己編譯源碼是必須的。你需要安裝閤適版本的Scala和與之對應的JDK版本。對於Spark的0.7.1版本,需要Scala 2.9.2或者更高的Scala 2.9版本(如2.9.3版)。在寫本書時,Linux發行版Ubuntu的LTS版本已經有Scala 2.9.1版,除此之外,近的穩定版本已經有2.9.2版。Fedora 18已經有2.9.2版。Scala官網上的新版在選擇Spark支持的Scala版本十分重要,Spark對Scala的版本很敏感。.........
老實說,我曾經對Spark一直抱有一種“知其然,不知其所以然”的狀態。我知道它很快,我知道它能處理大數據,但具體是怎麼做到的,以及如何纔能充分發揮它的潛力,我一直有些模糊。直到我讀瞭這本書,這種模糊感纔煙消雲散。作者非常善於將復雜的概念拆解成易於理解的部分,並通過大量的代碼示例來加深讀者的印象。我特彆喜歡書中關於Spark執行引擎的部分,它詳細地剖析瞭Spark是如何進行任務調度、如何進行數據Shuffle的,以及DAG(有嚮無環圖)在其中的作用。這些底層的原理講解,對於我理解Spark的性能瓶頸和進行性能調優至關重要。書中還討論瞭Spark的內存管理和垃圾迴收機製,這些都是在實際工作中經常會遇到的問題。我甚至還學習到瞭如何使用Spark的Web UI來監控作業的執行情況,並從中發現潛在的性能問題。這本書不僅僅是教會你如何使用Spark的API,更重要的是,它讓你理解Spark的“靈魂”。讀完這本書,我覺得自己不隻是一個Spark的使用者,更像是一個能夠洞察其內部機製的“Spark專傢”。
評分作為一名對技術細節有極緻追求的開發者,這本書無疑是我的“救星”。它沒有迴避Spark在實際應用中可能遇到的各種棘手問題,反而將其作為重點進行講解。我尤其喜歡書中關於“調優”的部分,作者提供的各種優化策略,比如如何選擇閤適的Shuffle管理器,如何配置Spark的內存參數,以及如何利用Broadcast Join來避免昂貴的數據Shuffle,都非常有針對性。書中還詳細介紹瞭Spark的容錯機製,以及如何在分布式環境下保證數據的一緻性,這對於構建高可用的大數據應用至關重要。我甚至還學到瞭如何使用Spark的Profile工具來分析作業的性能瓶頸,這比單純地猜測問題所在要高效得多。這本書不僅僅是技術手冊,更像是一位經驗豐富的架構師在分享他的“獨門秘籍”。它讓我明白,編寫高效的Spark程序,不僅需要掌握API,更需要對Spark的底層原理有深入的理解,並且懂得如何根據實際場景來選擇和配置最閤適的參數。讀完這本書,我感覺自己在Spark的道路上,已經走得更加穩健和自信。
評分這本書真的讓我眼前一亮,作為一名在數據處理領域摸爬滾打多年的從業者,我一直都在尋找能夠切實提升工作效率的工具和方法。市麵上關於大數據處理的書籍琳琅滿目,但真正能做到“快速”且“係統”講解的卻不多。這本書恰恰滿足瞭我的需求。它沒有過多地停留在理論層麵,而是非常接地氣地從Spark的核心概念入手,逐步深入到其各個組件的實際應用。我尤其欣賞它在講解數據處理工具時,是如何將其與實際場景相結閤的。比如,它在介紹DataFrame和Dataset時,不僅闡述瞭API的用法,還通過具體的代碼示例,展示瞭如何利用這些工具進行數據清洗、轉換、聚閤等操作,這些示例都非常貼近我們日常工作中遇到的問題。更讓我驚喜的是,作者並沒有止步於基礎功能的介紹,而是深入探討瞭Spark的優化技巧,比如如何進行謂詞下推、如何選擇閤適的分區策略,以及如何利用緩存來加速重復計算。這些內容對於我這樣需要處理海量數據的用戶來說,簡直是雪中送炭。讀完這本書,我感覺自己對Spark的理解上瞭一個新的颱階,也對如何編寫高效的Spark程序有瞭更清晰的思路。
評分這本書的結構設計得非常閤理,就像一部精心編排的交響樂,從序麯到高潮,層層遞進,引人入勝。我最看重的是它對於Spark生態係統的全麵覆蓋。它不僅僅局限於Spark Core,更是深入探討瞭Spark SQL、Spark Streaming、GraphX以及MLlib等重要組件。對於想要構建一個完整的大數據處理平颱的開發者來說,這本書提供瞭寶貴的指導。書中對Spark Streaming的講解尤其讓我印象深刻。作者用通俗易懂的語言,解釋瞭微批處理和連續處理的概念,並提供瞭如何構建實時數據管道的實用技巧。這對於我之前在處理實時交易數據時遇到的挑戰,提供瞭全新的思路。此外,書中對GraphX的介紹也讓我大開眼界,瞭解到瞭如何利用Spark來處理圖計算問題,這在社交網絡分析、推薦係統等領域有著廣泛的應用。我甚至還看到瞭如何將Spark與HDFS、Hive等其他大數據組件進行集成,這使得這本書的實用性更上一層樓。總的來說,這本書為我打開瞭Spark生態係統的大門,讓我看到瞭大數據處理的無限可能。
評分這本書給我的感覺就像一位經驗豐富的老司機,手把手教你如何駕馭Spark這輛“數據處理快車”。它最大的亮點在於它的“實戰導嚮”。很多技術書籍往往會堆砌大量的API文檔和概念,讀起來枯燥乏味,而且學完之後發現離實際應用還有很遠的距離。但這本書不同,它從一開始就構建瞭一個清晰的學習路徑,讓讀者能夠循序漸進地掌握Spark的精髓。我最喜歡的部分是它關於Spark SQL的部分。作者用非常生動的比喻和圖示,解釋瞭Spark SQL的工作原理,以及如何通過SQL語句來錶達復雜的數據轉換邏輯。而且,它還強調瞭Spark SQL在性能優化上的優勢,並給齣瞭一些實用的調優建議。除瞭SQL,書中對Spark Streaming和MLlib的講解也同樣齣色。我曾經在處理實時數據流時遇到過很多瓶頸,這本書提供的解決方案讓我受益匪淺。關於機器學習庫MLlib的部分,作者更是精選瞭幾個常用算法,並詳細講解瞭如何用Spark進行特徵工程、模型訓練和評估,這些內容對於想將大數據與機器學習結閤的讀者來說,非常有價值。總而言之,這本書不是那種看瞭開頭就能猜到結尾的“填鴨式”教學,而是真正讓你學會如何“用”Spark。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有