Spark大數據處理:原理、算法與實例
內容描述
<內容簡介>
本書以時下流行的Hadoop所存在的缺陷為出發點,深入淺出地介紹了下一代大數據處理核心技術Spark的優勢和必要性,並以簡潔的指引步驟展示瞭如何在10分鐘內建立一個Spark大數據處理環境。在此基礎上,本書以圖文並茂和豐富的示例代碼講解的形式系統性地揭示了Spark的運行原理、算子使用、算法設計和優化手段,為讀者提供了一個快速由淺入深掌握Spark基礎能力和高級技巧的參考書籍。本書共六章,涉及的主題主要包括大數據處理技術從Hadoop發展到Spark的必然性、快速體驗Spark的指引、Spark架構和原理、RDD算子使用方法和示例、Spark算法設計實例、Spark程序優化方法。本書適合需要使用Spark進行大數據處理的程序員、架構師和產品經理作為技術參考和培訓資料,亦可作為高校研究生和本科生教材。
<章節目錄>
第1章從Hadoop到Spark 1.1Hadoop——大數據時代的火種1.1.1大數據的由來1.1.2Google解決大數據計算問題的方法1.1.3Hadoop的由來與發展1.2Hadoop的局限性1.2.1Hadoop運行機制1.2.2Hadoop的性能問題1.2.3針對Hadoop的改進1.3大數據技術新星——Spark 1.3.1Spark的出現與發展1.3. 2Spark協議族1.3.3Spark的應用及優勢第2章體驗Spark 2.1安裝和使用Spark 2.1.1安裝Spark 2.1.2瞭解Spark目錄結構2.1.3使用Spark Shell 2. 2編寫和運行Spark程序2.2.1安裝Scala插件2.2.2編寫Spark程序2.2.3運行Spark程序2.3Spark Web UI 2.3.1訪問實時Web UI 2.3.2從實時UI查看作業信息第3章Spark原理3.1Spark工作原理3.2Spark架構及運行機制3.2.1Spark系統架構與節點角色3.2.2Spark作業執行過程3.2.3應用初始化3.2 .4構建RDD有向無環圖3.2.5RDD有向無環圖拆分3.2.6Task調度3.2.7Task執行第4章RDD算子4.1創建算子4.1.1基於集合類型數據創建RDD 4.1.2基於外部數據創建RDD 4.2變換算子4.2.1對Value型RDD進行變換4.2.2對Key/ Value型RDD進行變換4.3行動算子4.3.1數據運算類行動算子4.3.2存儲型行動算子4.4緩存算子第5章Spark算法設計5.1過濾5.2去重計數5.3相關計數5. 4相關係數5.5數據聯結5.6TopK 5.7Kmeans 5.8關聯規則挖掘5.9kNN 5.10樸素貝葉斯分類第6章善用Spark 6.1合理分配資源6.2控制並行度6.3利用持久化6.4選擇恰當的算子6.5利用共享變量6.5.1累加器變量6.5.2廣播變量6.6利用序列化技術6.7關註數據本地性6.8內存優化策略6.9集成外部工具參考文獻