透過上百場大數據相關研討會,萃取出業界人士常見問題之精華
了解開發者在運用Spark時,可能需要使用的開發和測試工具
涵蓋機器學習與圖形演算,強化大數據分析能力基礎
適合軟體設計者、架構設計師、專案管理者、或是程式設計師閱讀
Scala函式X機器學習X圖形演算X程式監控
實戰大數據分析,用Spark優化運算效率與速度
本書涵蓋了Spark專案的主要知識:
Spark核心RDD
Spark Shell互動式數據分析
Spark Streaming即時資料串流
Spark SQL查詢處理
MLlib機器學習框架
GraphX圖形處理
除了以上基本Spark知識之外,還專闢一章介紹Scala,它除了是最熱門的函數式編程語言,也是Spark的原生語言。讀者將會學到使用Scala進行基礎函數編程,直接用它來寫出Spark應用程式。並且於最後特別提及Spark的三種叢集管理與Spark內建的網頁監控應用程式。
書中還介紹其他可搭配Spark使用的大數據技術,如:HDFS、Avro、Pqrquet、Kafka、Cassandra、Hbase、Mesos...等。也提供了機器學習和圖學概念的介紹。
如果想要將這本書發揮最大效益,就請嘗試動手鍵入書中的範例。用這些範例程式進行實驗,你將會覺得更加清楚明瞭。練習過書中的範例,在讀完這本書後將會成為一個有實力的Spark開發者。
作者簡介:
Mohammed Guller
他是美國數據分析平台公司Glassbeam的首席架構師,主要工作是帶領開發高階預測分析系統。身為大數據和Spark的專家,他常受邀到許多大數據研討會演講。對於建立新產品、巨量資料分析、以及機器學習有著無比的熱情。
過去20年來,Mohammed成功地從概念到發佈,開發出許多創新科技產品。在加入Glassbeam公司前,他是TrustRecs.com的創辦人,這間公司是他任職於IBM五年後創立的。而在加入IBM前,他也在許多高科技新創公司帶領開發新產品。
Mohammed擁有美國加州大學柏克萊分校的商業管理碩士學位,以及印度古吉拉特大學RCC的電腦軟體碩士學位。
作者序
前言
這是一本簡潔易懂的Spark大數據入門書籍。它將會幫助你學習如何使用Spark運用於各種大數據分析。本書將會涵蓋的各種內容足夠讓你有效率使用Spark。
購買此書的好處之一就是幫助你有效率的學習Spark。它將會節省你許多時間。各章節涵蓋的內容都可以在網路上找到。有許多的部落格、演講,和Youtube影片都有提到Spark,事實上這些大量的教材實在多到讓人無法消化。你可以花好幾個月的時間在許多不同的網站上讀取片段資訊。而這本書藉著良好的組織與容易瞭解的格式提供給你另一種學習機會。
這本書的內容與教材組織,是根據曾參與的大數據分析相關會議中,我偶爾帶領的Spark專題研討會所整理出來的。與會人士對於我教材的內容與流程所給予的正面回饋,讓我有了寫這本書的動力。
而書本與研討會的差異其中之一就是文字的互動性。然而再舉辦數個Spark研討會後,我瞭解通常大家會有什麼問題,我也把這些問題描述在書中。當然如果你閱讀此書時還是有問題,我鼓勵你透過LinkedIn或是Twitter聯絡我,不要怕問問題,沒有任何問題是蠢問題。
這本書不打算涵蓋Spark全面的內容,而是打算涵蓋如何讓你有效率的使用Spark相關的主題。我的目標是幫助你建立一個強壯的基礎。一旦你有了強壯的基礎,對於任何新的技術知識你都可以很容易學習。此外我還希望讓這本書越簡單越好。如果看完這本書讓你覺得 Spark 很簡單,那我的目標就算成功了。
本書的各個章節並沒有預設你必須要有什麼經驗,它將會一步一步引導你瞭解主要的概念。每一個章節都架構於前一個章節。同樣的,每一章都是為了下一章的學習在鋪路。對於一些介紹你可能不會馬上需要用到的函式庫章節,你可以略過。然而我還是鼓勵你先讀過這些章節,就算它跟你現在的專案可能沒有什麼關聯,依舊可能給你一些新的想法。
透過這本書你將會學到許多Spark相關的技術。然而想要將這本書發揮最大效益,就請嘗試動手鍵入書中的範例。用這些範例程式進行實驗。之後當寫程式和執行時,你將會覺得更加清楚明瞭。如果你練習過書中的範例,在讀完這本書後將會成為一個有實力的Spark開發者。其中一個我覺得對我在開發Spark時很有用的資源就是官方的Spark API文件,你可以在http://spark.apache.org/docs/latest/api/scala查詢。身為一個初學者,你可能覺得很難瞭解,但是一旦學會了基礎概念,你就會覺得它非常有用。
另一個有用的資源就是Spark的信件群組。Spark的社群是非常活躍且充滿幫助的。不單只有Spark的開發者去回答問題,還有許多有經驗的Spark使用者花自己的時間去幫忙新使用者。不管遇到什麼樣的問題,你都很有機會在Spark的信件群組中找到也許已經有人解決過那個問題。
還有你也可以直接聯絡我,我很高興收到你們的訊息。任何的回饋、建議和問題都歡迎。
前言
這是一本簡潔易懂的Spark大數據入門書籍。它將會幫助你學習如何使用Spark運用於各種大數據分析。本書將會涵蓋的各種內容足夠讓你有效率使用Spark。
購買此書的好處之一就是幫助你有效率的學習Spark。它將會節省你許多時間。各章節涵蓋的內容都可以在網路上找到。有許多的部落格、演講,和Youtube影片都有提到Spark,事實上這些大量的教材實在多到讓人無法消化。你可以花好幾個月的時間在許多不同的網站上讀取片段資訊。而這本書藉著良好的組織與容易瞭解的格式提供給你另一種學習機會。
這本書的內容與教材組織,是根據曾參與的大...
目錄
CHAPTER 01──大數據技術
Hadoop
資料序列化
分欄式儲存
訊息系統
NoSQL
分散式SQL查詢引擎
總結
CHAPTER 02──Scala程式設計
函數式程式設計
Scala基礎
可獨立執行的Scala應用程式
總結
CHAPTER 03── Spark核心
總覽
高階架構
應用程式的執行
資料來源
應用程式介面
惰性操作
快取
Spark 工作
共用變數
總結
CHAPTER 04──使用Spark Shell進行互動式資料分析
起手式
REPL指令
將Spark Shell作為Scala Shell使用
數值分析
日誌分析
總結
CHAPTER 05──撰寫Spark應用程式
Spark中的Hello World
編譯並執行應用程式
監控應用程式
應用程式除錯
總結
CHAPTER 06──Spark Streaming
Spark Streaming簡介
應用程式介面
完整的Spark Streaming應用程式
總結
CHAPTER 07──Spark SQL
Spark SQL簡介
效能
應用程式
應用程式介面
內建函數
使用者自訂函數與使用者自訂彙整函數
互動式分析範例
使用Spark SQL JDBC伺服器進行互動式分析
總結
CHAPTER 08──Spark機器學習
介紹機器學習
Spark機器學習函式庫
MLlib函式庫概觀
The MLlib API
MLlib應用程式範例
Spark ML
Spark ML應用程式範例
總結
CHAPTER 09──Spark圖學處理
圖形簡介
GraphX簡介
GraphX API
總結
CHAPTER 10──叢集管理器
獨立叢集管理器
Apache Mesos
YARN
總結
CHAPTER 11──監控
監控獨立叢集
監控Spark應用程式
總結
CHAPTER 01──大數據技術
Hadoop
資料序列化
分欄式儲存
訊息系統
NoSQL
分散式SQL查詢引擎
總結
CHAPTER 02──Scala程式設計
函數式程式設計
Scala基礎
可獨立執行的Scala應用程式
總結
CHAPTER 03── Spark核心
總覽
高階架構
應用程式的執行
資料來源
應用程式介面
惰性操作
快取
Spark 工作
共用變數
總結
CHAPTER 04──使用Spark Shell進行互動式資料分析
起手式
REPL指令
將Spark Shell作為Scala Shell使用
數值分析
日誌分析
總結
CHAPTER 05──撰寫Spark應...