內容簡介
主要內容
·大數據技術和Spark概述。
·通過實例學習DataFrame、SQL、Dataset等Spark的核心API。
·了解Spark的低級API實現,包括RDD以及SQL和DataFrame的執行過程。
·了解Spark如何在集群上運行。
·Spark集群和應用程式的調試、監控、和調優。
·學習Spark強大的流處理引擎——結構化流處理。
·學習MLlib並了解如何套用它解決包括分類、推薦,以及其他多種實際問題。
圖書目錄
前言
第部分大數據與Spark概述
第1章Spark是什麼?
ApacheSpark的設計哲學
背景:大數據問題
Spark的歷史
Spark的現狀和未來
運行Spark
第2章Spark淺析
Spark的基本架構
SparkAPI的多語言支持
SparkAPI
啟動Spark
轉換操作
動作操作
Spark用戶接口
一個完整的例子
小結
第3章Spark工具集介紹
運行生產應用程式
Dataset:類型安全的結構化API
結構化流處理
機器學習和高級數據分析
低級API
SparkR
Spark的生態系統和工具包
小結
第Ⅱ部分結構化API—DataFrame、
SQL和Dataset
第4章結構化API概述
DataFrame類型和Dataset類型
Schema
結構化Spark類型概述
結構化API執行概述
小結
第5章基本的結構化操作
模式
列和表達式
記錄和行
DataFrame轉換操作
小結
第6章處理不同的數據類型
在哪裡查找API
轉換成Spark類型
處理布爾類型
處理數值類型
處理字元串類型
處理日期和時間戳類型
處理數據中的空值
處理JSON類型
用戶自定義函式
小結
第7章聚合操作
聚合函式
分組
window函式
分組集
用戶自定義的聚合函式
小結
第8章連線操作
連線表達式
連線類型
內連線
外連線
左外連線
右外連線
左半連線
左反連線
自然連線
交叉連線(笛卡爾連線)
連線操作常見問題與解決方案
小結
第9章數據源
數據源API的結構
CSV檔案
JSON檔案
Parquet檔案
ORC檔案
SQL資料庫
文本檔案
高級I/O概念
小結
第10章SparkSQL
什麼是SQL?
大數據和SQL:Apache Hive
大數據和SQL:SparkSQL
如何運行SparkSQL查詢
Catalog
視圖
資料庫
選擇語句
高級主題
其他功能
小結
第11章Dataset
何時使用Dataset
創建Dataset
動作操作
轉換操作
連線
分組和聚合
小結
第III部分低級AP
第12章彈性分散式數據集
什麼是低級API?
關於RDD
創建RDD
操作RDD
轉換操作
動作操作
保存檔案
快取
檢查點
通過pipe方法調用系統命令操作RDD
小結
第13章高級RDD
Key-Value基礎(Key-Value RDD)
聚合操作
CoGroups
連線操作
控制分區
自定義序列化
小結
第14章分散式共享變數
廣播變數
累加器
小結
第IV部分生產與套用
第15章Spark如何在集群上運行.
Spark應用程式的體系結構
Spark應用程式的生命周期(Spark外部)
Spark應用程式的生命周期(Spark內部)
執行細節
小結
第16章開發Spark應用程式
編寫Spark應用程式
測試Spark應用程式
開發過程
啟動應用程式
配置應用程式
小結
第17章部署Spark
在哪裡部署Spark集群
集群管理器
其他注意事項
小結
第18章監控與調試
監控級別
要監視什麼
Spark日誌
Spark UI
調試和Spark搶救方案
小結
第19章性能調優
間接性能最佳化
直接性能最佳化
小結
第V部分流處理
第20章流處理基礎
什麼是流處理?
流處理設計要點
Spark的流處理API
小結
第21章結構化流處理基礎
結構化流處理概述
核心概念
結構化流處理實例
結構化流上的轉換操作
聚合
輸入和輸出
流式Dataset API
小結
第22章事件時間和有狀態處理
事件時間
有狀態處理
任意有狀態處理
事件時間基礎知識
事件時間的視窗
在流中刪除重複項
任意有狀態處理
小結
第23章生產中的結構化流處理
容錯和檢查點
更新應用程式
度量和監視
警報
使用流偵聽器進行高級監視
小結
第VI部分高級分析與機器學習
第24章高級分析和機器學習概覽
高級分析簡介
Spark的高級分析工具包
高級MLlib概念
MLlib的執行
部署模式
小結
第25章預處理和特徵工程
根據套用場景格式化模型
轉換器
預處理的估計器
高級轉換器
處理連續型特徵
使用類別特徵
文本數據轉換器
特徵操作
特徵選擇
高級主題
編寫自定義轉換器
小結
第26章分類
套用場景
分類的類型
MLlib中的分類模型
邏輯回歸
決策樹
隨機森林和梯度提升樹
樸素貝葉斯
分類評估器和自動化模型校正
One-vs-Rest分類
多層感知器
小結
第27章回歸
套用場景
MLlib中的回歸模型
線性回歸
廣義線性回歸
決策樹
隨機森林和梯度提升樹
高級方法
評估器和自動化模型校正
度量標準
小結
第28章推薦系統
套用場景
基於交替最小二乘法的協同過濾
推薦系統的評估器
度量指標
頻繁模式挖掘
小結
第29章無監督學習
套用場景
模型的可擴展性
k-means
二分k-means
高斯混合模型
LDA主題模型
小結
第30章圖分析
構建圖
查詢圖
模式發現
圖算法
小結
第31章深度學習
什麼是深度學習?
在Spark中使用深度學習
深度學習庫
Deep Learning Pipelines的一個簡單例
小結
第部分生態系統
第32章語言支持:Python(PySpark)和R(SparkR和
Sparklyr)
PySpark
Spark中的R
小結
第33章生態系統和社區
Spark軟體包
社區
小結
作者簡介
作者介紹
Bill Chambers是Databricks的一名產品經理,致力於使用Spark和Databricks幫助客戶完成大規模數據分析的任務。Bill還定期寫關於數據科學和大數據方面的部落格, 並常在各種會議和見面會上展示產品。他擁有加州大學伯克利分校信息學院的信息系統碩士學位, 研究方向為數據科學。
Matei Zaharia是史丹福大學計算機科學系助理教授和Databricks的首席技術官。他於2009年在加州大學伯克利分校創立了Spark項目, 那時他是一名博士生, 並繼續擔任Apache Spark項目的副主席。Matei Zaharia還是Apache Mesos項目的聯合創始人,也是Apache Hadoop項目的貢獻者。Matei Zaharia以他出色的研究工作獲得了2014年美國計算機學會博士論文獎和VMware系統研究獎。
譯者介紹
張岩峰,東北大學教授,在國內外從事大數據分散式處理研究工作10餘年,中國計算機學會資料庫專委會委員,大數據專委會通訊委員,研究設計了iMapReduce、Maiter等大數據疊代計算分散式框架,承擔和參與國家自然科學基金、國家重點研發計畫等多項課題,在SIGMOD、VLDB、ICDE、PPoPP、TPDS、TKDE等頂D級國際會議和期刊上發表論文10餘篇,曾獲雲計算國際會議ACM SOCC 2011優秀論文獎及多項國內外獎勵和榮譽。