編輯推薦
適讀人群 :spark大數據開發者 大數據資深培訓師、Spark大數據暢銷書《大數據Spark企業級實戰》作者王傢林新作。
內容廣度和深度兼顧,覆蓋瞭Spark技術的核心知識點,全程注重從架構的底層到上層,由宏觀到微觀的講解。
秉承“實戰”類圖書特色,解析大量案例和代碼的編寫操作,具有較強的可操作性,便於讀者學習和理解。
內容簡介
書中第1章首先通過介紹Spark的生態係統和RDD編程模型,使讀者能夠快速的對Spark技術的生態環境以及對Spark的RDD編程模型有個非常直觀的瞭解。第2章,首先介紹瞭Spark應用的兩種部署模式;然後在應用部署模式基礎上,開始Spark實戰的案例與解析,通過提供一個完整的基礎案例,使讀者瞭解一個Spark應用的大緻處理流程;接著對實戰中的重點部分,結閤源碼分析、監控日誌分析等深入解析瞭Spark運行機製、DAG圖等關鍵內容;後給齣Spark開發者常用的應用程序構建案例與分析,以及調試環境搭建的案例與應用調試的案例。第3章重點針對SparkSQL子模塊進行實戰,首先概要分析瞭Spark1.3版本中引入的DataFrame,然後基於DataFrame編程模型給齣一個完整的基礎案例與解析,接著也是針對實戰中的難度、重點部分,給予瞭更豐富的案例與深入地分析,後,重點關注Spark1.3版本中DataFrame當前支持的各種數據源,並給齣各種數據源基礎上的案例與分析,數據源包括各種結構化數據文件、Hive錶、外部數據庫或現有的RDD。第4章針對流處理進行實戰,首先分析流處理中的關鍵點和難度,並通過實例進行深入解析。然後針對各種數據源的情景,給齣由淺入深的實戰案例與解析,並結閤部分源碼,分析流處理的性能調優等,並給齣實例與分析。第5章針對著名的分布式內存存儲係統Tachyon進行實戰,並對實戰案例進行分析,內容包括從Tachyon集群部署的案例與分析、Tachyon集群配置的案例與分析等,後關注Tachyon對Spark應用的性能調優的影響,給齣實戰案例及其深入解析。第6章通過大約30個動手實踐的案例循序漸進地展示SparkGraphX框架方方麵麵的功能和使用方法,並對SparkGraphX的源碼進行解析,並用綜閤實戰案例鞏固知識;第7章從快速入門機器學習開始,詳細解析MLlib框架,通過對綫性迴歸、聚類、協同過濾的算法解析、源碼解析和案例實戰,循序漸進地揭秘MLLib,後通過對MLlib中BasicStatics、樸素貝葉斯算法、決策樹的解析和實戰,進一步提升掌握Spark機器學習的技能。
目錄
第1章Spark簡介
1.1什麼是Spark
1.2Spark生態圈
1.2.1伯剋利數據分析協議棧
1.2.2Spark開源社區發展
1.3RDD編程模型
1.3.1RDD抽象概念
1.3.2RDD的操作
1.3.3RDD的依賴關係
1.3.4一個典型的DAG示意圖
第2章Spark RDD實踐案例與解析
2.1Spark應用程序部署
2.1.1Spark應用的基本概念
2.1.2應用程序的部署方式
2.2RDD數據的輸入、處理、輸齣的基本案例與解析
2.2.1集群環境的搭建
2.2.2交互式工具的啓動
2.2.3文本數據的ETL案例實踐與解析
2.2.4文本數據的初步統計案例實踐與解析
2.2.5文本數據統計結果的持久化案例實踐與解析
2.2.6RDD的Lineage關係的案例與源碼解析
2.2.7RDD的持久化案例與解析
2.2.8RDD的構建案例與解析
2.2.9分區數設置的案例與源碼解析
2.3RDD API的應用案例與解析
2.3.1如何查找RDD API的隱式轉換
2.3.2RDD[T]的分區相關的API
2.3.3RDD[T]常用的聚閤API
2.3.4DoubleRDDFunctions(self:RDD[Double])常用的API
2.3.5PairRDDFunctions[K,V]聚閤相關的API
2.3.6RDD相互間操作的API
2.3.7PairRDDFunctions[K,V]間的相關API
2.3.8OrderedRDDFunctions[K,V,P<:Product2[K,V]]常用的API
2.4Spark應用程序構建
2.4.1基於SBT構建Spark應用程序的實例
2.4.2基於IDEA構建Spark應用程序的實例
2.4.3Spark提交應用的調試實例
2.5移動互聯網數據分析案例與解析
2.5.1移動互聯網數據的準備
2.5.2移動互聯網數據分析與解析
2.6Spark RDD實踐中的常見問題與解答
第3章Spark SQL實踐案例與解析
3.1Spark SQL概述
3.2DataFrame處理的案例與解析
3.2.1DataFrame編程模型
3.2.2DataFrame基本操作案例與解析
3.2.3DataFrame與RDD之間的轉換案例與解析
3.2.4緩存錶(列式存儲)的案例與解析
3.2.5DataFrame API的應用案例與分析
3.3Spark SQL處理各種數據源的案例與解析
3.3.1通用的加載/保存功能的案例與解析
3.3.2Parquet文件處理的案例與解析
3.3.3JSON數據集操作的案例與解析
3.3.4操作Hive錶的案例與解析
3.3.5使用JDBC 操作其他數據庫的案例與解析
3.3.6集成Hive數據倉庫的案例與解析
3.4基於Hive的人力資源係統數據處理案例與解析
3.4.1人力資源係統的數據庫與錶的構建
3.4.2人力資源係統的數據的加載
3.4.3人力資源係統的數據的查詢
第4章Spark Streaming實踐案例與解析
4.1Spark Streaming概述
4.2Spark Streaming基礎概念
4.3企業信息實時處理的案例與解析
4.3.1處理TCP數據源的案例與解析
4.3.2處理HDFS文件數據源的案例與解析
4.3.3處理Kafka數據源的準備工作
4.3.4基於Receiver讀取Kafka數據的案例與解析
4.3.5直接讀取(無Receiver)Kafka數據的案例與解析
4.3.6處理Flume數據源的實踐準備
4.3.7基於Flume風格的推送數據案例與解析
4.3.8定製FlumeSink的拉取數據案例與解析
4.4性能調優
4.4.1減少批處理的時間
4.4.2設置正確的批間隔
4.4.3內存調優
第5章Tachyon實踐案例與解析
5.1Tachyon概述
5.2重新編譯部署包
5.2.1重新編譯Tachyon的部署包
5.2.2重新編譯Spark的部署包
5.3Tachyon部署的案例與解析
5.3.1單機模式部署的案例與解析
5.3.2集群模式部署的案例與解析
5.3.3集群Master容錯部署的案例與解析
5.4Tachyon配置的案例與解析
5.4.1底層存儲係統的配置案例與解析
5.4.2配置屬性與解析
5.5命令行接口的案例與解析
5.5.1命令行接口的說明
5.5.2命令行接口的案例實踐與解析
5.6同步底層文件係統的案例與解析
5.6.1同步HDFS底層文件係統的案例與解析
5.6.2同步本地底層文件係統的案例與解析
5.7基於Tachyon運行的案例與解析
5.7.1基於Tachyon運行Spark的案例與解析
5.7.2基於Tachyon運行Hadoop MR的案例與解析
附錄Spark 1.4版本新特性
前言/序言
Spark起源於2009年,是美國加州大學伯剋利分校AMP實驗室的一個研究性項目。Spark於2010年開源,是當今大數據領域最活躍、最熱門、最高效的大數據通用計算平颱,是Apache軟件基金會所有開源項目中三大頂級開源項目之一。
Spark是用Scala語言寫成的一套分布式內存迭代計算係統,它的核心抽象概念是彈性分布式數據集(Resilient Distributed Dataset,RDD),在“One Stack to rule them all”(一個技術堆棧容納各種數據處理技術)理念的指引下,Spark基於RDD成功地構建起瞭大數據處理的一體化解決方案,將MapReduce、Streaming、SQL、Machine Learning、Graph Processing等大數據計算模型統一到一個技術堆棧中,開發者可以使用同樣的API操作Spark中的所有功能。更為重要的是,Spark的Spark SQL、MLLib、GraphX、Spark Streaming等四大子框架(在Spark 1.4版本中,加入瞭新的SparkR子框架)之間可以在內存中完美的無縫集成並可以互相操作彼此的數據,這不僅打造瞭Spark在當今大數據計算領域相比其他任何計算框架具備的無可匹敵的優勢,更使得Spark正在加速成為大數據處理中心首選的和唯一的計算平颱。
目前,Spark已經發展成為包含眾多子項目的大數據計算平颱。Spark的整個生態係統稱為伯剋利數據分析棧(BDAS)。其核心框架是Spark,同時BDAS涵蓋支持結構化數據SQL查詢與分析的查詢引擎Spark SQL,提供具有機器學習功能的係統MLbase及底層的分布式機器學習庫MLlib、並行圖計算框架GraphX、流計算框架Spark Streaming、采樣近似計算查詢引擎BlinkDB、內存分布式文件係統Tachyon、資源管理框架Mesos等子項目。這些子項目在Spark上提供瞭更高層、更豐富的計算範式。
隨著Spark社區的不斷成熟,它已被廣泛應用於阿裏巴巴、百度、網易、英特爾等各大公司的生産環境中。
關於Spark及其開發案例的中文資料比較匱乏,相關書籍也比較少,社區內開發者們主要的學習方式仍然限於閱讀有限的官方文檔、源碼、AMPLab發錶的論文,以及社區討論等。
為瞭讓Spark初學者能快速進入開發階段,本書針對Spark內核、Spark SQL以及Spark Streaming等內容,提供瞭一係列的開發案例,基於這些開發案例,詳細記錄並解析瞭這幾個子框架開發過程的各個步驟。
Spark的發展日新月異,在本書撰寫時,Spark 1.3版本剛剛發布,因此,本書全部的開發案例都是基於該版本進行的。同時,鑒於Spark是用Scala語言編寫的,本書的開發案例也采用Scala語言作為開發語言。
本書共5章,內容包括:
第1章:Spark簡介,內容包括介紹Spark的基本概念、Spark生態圈以及RDD編程模型等內容;
第2章:Spark RDD實踐案例與解析,內容包括Spark應用程序的部署、RDD數據的輸入、處理、輸齣的基本案例與解析、RDD API的應用案例與解析、Spark應用程序的構建,以及移動互聯網數據分析案例與解析等內容;
第3章:Spark SQL實踐案例與解析,內容包括Spark SQL概述、DataFrame處理的案例與解析、Spark SQL處理各種數據源的案例與解析,以及基於Hive的人力資源係統數據處理案例與解析等內容;
第4章:Spark Streaming實踐案例與解析,內容包括Spark Streaming概述、Spark Streaming基礎概念、企業信息實時處理的案例與解析,以及性能調優等內容;
第5章:Tachyon實踐案例與解析,內容包括Tachyon概述、Tachyon部署的案例與解析、Tachyon配置的案例與解析、命令行接口的案例與解析、同步底層文件係統的案例與解析,以及基於Tachyon運行Spark和Hadoop的案例與解析等內容。
在全書最後,特彆介紹瞭Spark 1.4版本的新特性。
預備知識
熟悉Linux/UNIX類操作係統的基本命令操作以及Java或Scala語言對理解本書內容大有裨益。建議構建3颱及以上服務器的集群環境,以更好地實踐並理解分布式環境中的Spark運行框架與計算。
本書的目標讀者
作為Spark入門的開發案例,本書適閤剛接觸Spark或對Spark分布式計算的開發不熟悉的初學者。對於熟悉函數式開發或麵嚮對象開發,並有一定經驗的開發者,本書也可以作為開發案例的參考書籍。
本書由王傢林,徐香玉編著,參與編寫的還有:王傢虎、王傢俊、王燕軍。限於作者水平,書中疏漏之處在所難免,歡迎廣大讀者批評指正。
編者
Spark大數據實例開發教程 epub pdf mobi txt 電子書 下載 2024
Spark大數據實例開發教程 下載 epub mobi pdf txt 電子書