發表於2024-11-09
通過典型數據分析應用場景、算法與係統架構,結閤6大案例,全麵、深入講解Spark大數據分析的各種技術和方法
作為一個通用大數據計算框架,Spark廣泛應用於多種典型大數據分析場景。
通過這本書,你將瞭解到:
Spark的機製與生態係統
Spark算法分析與應用
典型的數據分析場景
Spark在日誌分析、情感分析、協同過濾、個性化推薦、社交網絡分析、搜索、文本分析等場景的應用
Spark與其他開源工具及係統的集成
Spark已經在全球範圍內被廣泛使用,無論是微軟、Intel、阿裏巴巴、百度、騰訊等國際互聯網巨頭,還是一些初創公司,都在使用Spark。本書作者結閤實戰經驗,編寫瞭這本書。本書抽象齣典型數據分析應用場景,適當簡化,隻進行主乾介紹,講解Spark應用開發、數據分析算法,並結閤其他開源係統與組件,勾勒齣數據分析流水綫全貌。
這是一本根據應用場景講解如何通過Spark進行大數據分析與應用構建的著作,以實戰為導嚮。作者結閤典型應用場景,抽象齣通用與簡化後的模型,以便於讀者能舉一反三,直接應用。
本書首先從技術層麵講解瞭Spark的機製、生態係統與開發相關的內容;然後從應用角度講解瞭日誌分析、推薦係統、情感分析、協同過濾、搜索引擎、社交網絡分析、新聞數據分析等多個常見的大數據場景下的數據分析。在每個場景中,首先是對場景進行抽象與概括,然後將Spark融入其中構建數據分析算法與應用,最後結閤其他開源係統或工具構建更為豐富的數據分析流水綫。
高彥傑,
畢業於中國人民大學,就職於微軟亞洲研究院。開源技術愛好者,對Spark及其他開源大數據係統與技術有較為深入的認識和研究,實踐經驗豐富。較早接觸並使用Spark,對Spark應用開發、Spark係統的運維和測試比較熟悉,深度閱讀瞭Spark的源代碼,瞭解Spark的運行機製,擅長Spark的查詢優化。
曾著有暢銷書《Spark大數據處理:技術、應用與性能優化》。
倪亞宇,
清華大學自動化係在讀博士研究生,曾於微軟亞洲研究院、IBM研究院實習。對大規模的推薦係統和機器學習算法有較為深入的研究和豐富的實踐經驗。
前 言
第1章 Spark簡介 1
1.1 初識Spark 1
1.2 Spark生態係統BDAS 3
1.3 Spark架構與運行邏輯 4
1.4 彈性分布式數據集 6
1.4.1 RDD簡介 6
1.4.2 RDD算子分類 8
1.5 本章小結 17
第2章 Spark開發與環境配置 18
2.1 Spark應用開發環境配置 18
2.1.1 使用Intellij開發Spark
程序 18
2.1.2 使用SparkShell進行交互式數據分析 23
2.2 遠程調試Spark程序 24
2.3 Spark編譯 26
2.4 配置Spark源碼閱讀環境 29
2.5 本章小結 29
第3章 BDAS簡介 30
3.1 SQL on Spark 30
3.1.1 為什麼使用Spark SQL 31
3.1.2 Spark SQL架構分析 32
3.2 Spark Streaming 35
3.2.1 Spark Streaming簡介 35
3.2.2 Spark Streaming架構 38
3.2.3 Spark Streaming原理剖析 38
3.3 GraphX 45
3.3.1 GraphX簡介 45
3.3.2 GraphX的使用簡介 45
3.3.3 GraphX體係結構 48
3.4 MLlib 50
3.4.1 MLlib簡介 50
3.4.2 MLlib中的聚類和分類 52
3.5 本章小結 57
第4章 Lamda架構日誌分析流水綫 58
4.1 日誌分析概述 58
4.2 日誌分析指標 61
4.3 Lamda架構 62
4.4 構建日誌分析數據流水綫 64
4.4.1 用Flume進行日誌采集 64
4.4.2 用Kafka將日誌匯總 68
4.4.3 用Spark Streaming進行實時日誌分析 70
4.4.4 Spark SQL離綫日誌分析 75
4.4.5 用Flask將日誌KPI可視化 78
4.5 本章小結 81
第5章 基於雲平颱和用戶日誌的推薦係統 82
5.1 Azure雲平颱簡介 82
5.1.1 Azure網站模型 83
5.1.2 Azure數據存儲 84
5.1.3 Azure Queue消息傳遞 84
5.2 係統架構 85
5.3 構建Node.js應用 86
5.3.1 創建Azure Web應用 87
5.3.2 構建本地Node.js網站 90
5.3.3 發布應用到雲平颱 90
5.4 數據收集與預處理 91
5.4.1 通過JS收集用戶行為日誌 92
5.4.2 用戶實時行為迴傳到Azure Queue 94
5.5 Spark Streaming實時分析用戶日誌 96
5.5.1 構建Azure Queue的Spark Streaming Receiver 96
5.5.2 Spark Streaming實時處理Azure Queue日誌 97
5.5.3 Spark Streaming數據存儲於Azure Table 98
5.6 MLlib離綫訓練模型 99
5.6.1 加載訓練數據 99
5.6.2 使用rating RDD訓練ALS模型 100
5.6.3 使用ALS模型進行電影推薦 101
5.6.4 評估模型的均方差 101
5.7 本章小結 102
第6章 Twitter情感分析 103
6.1 係統架構 103
6.2 Twitter數據收集 104
6.2.1 設置 104
6.2.2 Spark Streaming接收並輸齣Tweet 109
6.3 數據預處理與Cassandra存儲 111
6.3.1 添加SBT依賴 111
6.3.2 創建Cassandra Schema 112
6.3.3 數據存儲於Cassandra 112
6.4 Spark Streaming熱點Twitter分析 113
6.5 Spark Streaming在綫情感分析 115
6.6 Spark SQL進行Twitter分析 118
6.6.1 讀取Cassandra數據 118
6.6.2 查看JSON數據模式 118
6.6.3 Spark SQL分析Twitter 119
6.7 Twitter可視化 123
6.8 本章小結 125
第7章 熱點新聞分析係統 126
7.1 新聞數據分析 126
7.2 係統架構 126
7.3 爬蟲抓取網絡信息 127
7.3.1 Scrapy簡介 127
7.3.2 創建基於Scrapy的新聞爬蟲 128
7.3.3 爬蟲分布式化 133
7.4 新聞文本數據預處理 134
7.5 新聞聚類 135
7.5.1 數據轉換為嚮量(嚮量空間模型VSM) 135
7.5.2 新聞聚類 136
7.5.3 詞嚮量同義詞查詢 138
7.5.4 實時熱點新聞分析 138
7.6 Spark Elastic Search構建全文檢索引擎 139
7.6.1 部署Elastic Search 139
7.6.2 用Elastic Search索引MongoDB數據 141
7.6.3 通過Elastic Search檢索數據 143
7.7 本章小結 145
第8章 構建分布式的協同過濾推薦係統 146
8.1 推薦係統簡介 146
8.2 協同過濾介紹 147
8.2.1 基於用戶的協同過濾算法User-based CF 148
8.2.2 基於項目的協同過濾算法Item-based CF 149
8.2.3 基於模型的協同過濾推薦Model-based CF 150
8.3 基於Spark的矩陣運算實現協同過濾算法 152
8.3.1 Spark中的矩陣類型 152
8.3.2 Spark中的矩陣運算 153
8.3.3 實現User-based協同過濾的示例 153
8.3.4 實現Item-based協同過濾的示例 154
8.3.5 基於奇異值分解實現Model-based協同過濾的示例 155
8.4 基於Spark的MLlib實現協同過濾算法 155
8.4.1 MLlib的推薦算法工具 155
8.4.2 MLlib協同過濾推薦示例 156
8.5 案例:使用MLlib協同過濾實現電影推薦 157
8.5.1 MovieLens數據集 157
8.5.2 確定最佳的協同過濾模型參數 158
8.5.3 利用最佳模型進行電影推薦 160
8.6 本章小結 161
第9章 基於Spark的社交網絡分析 162
9.1 社交網絡介紹 162
9.1.1 社交網絡的類型 162
9.1.2 社交網絡的相關概念 163
9.2 社交網絡中社團挖掘算法 164
9.2.1 聚類分析和K均值算法簡介 165
9.2.2 社團挖掘的衡量指標 165
9.2.3 基於譜聚類的社團挖掘算法 166
9.3 Spark中的K均值算法 168
9.3.1 Spark中與K均值有關的對象和方法 168
9.3.2 Spark下K均值算法示例 168
9.4 案例:基於Spark的Facebook社團挖掘 169
9.4.1 SNAP社交網絡數據集介紹 169
9.4.2 基於Spark的社團挖掘實現 170
9.5 社交網絡中的鏈路預測算法 172
9.5.1 分類學習簡介 172
9.5.2 分類器的評價指標 173
9.5.3 基於Logistic迴歸的鏈路預測算法 174
9.6 Spark MLlib中的Logistic迴歸 174
9.6.1 分類器相關對象 174
9.6.2 模型驗證對象 175
9.6.3 基於Spark的Logistic迴歸示例 175
9.7 案例:基於Spark的鏈路預測算法 177
9.7.1 SNAP符號社交網絡Epinions數據集 177
9.7.2 基於Spark的鏈路預測算法 177
9.8 本章小結 179
第10章 基於Spark的大規模新聞主題分析 180
10.1 主題模型簡介 180
10.2 主題模型LDA 181
10.2.1 LDA模型介紹 181
10.2.2 LDA的訓練算法 183
10.3 Spark中的LDA模型 185
10.3.1 MLlib對LDA的支持 185
10.3.2 Spark中LDA模型訓練示例 186
10.4 案例:Newsgroups新聞的主題分析 189
10.4.1 Newsgroups數據集介紹 190
10.4.2 交叉驗證估計新聞的主題個數 190
10.4.3 基於主題模型的文本聚類算法 193
10.4.4 基於主題模型的文本分類算法 195
10.5 本章小結 196
第11章 構建分布式的搜索引擎 197
11.1 搜索引擎簡介 197
11.2 搜索排序概述 198
11.3 查詢無關模型PageRank 199
11.4 基於Spark的分布式PageRank實現 200
11.4.1 PageRank的MapReduce實現 200
11.4.2 Spark的分布式圖模型GraphX 203
11.4.3 基於GraphX的PageRank實現 203
11.5 案例:GoogleWeb Graph的PageRank計算 204
11.6 查詢相關模型Ranking SVM 206
11.7 Spark中支持嚮量機的實現 208
11.7.1 Spark中的支持嚮量機模型 208
11.7.2 使用Spark測試數據演示支持嚮量機的訓練 209
11.8 案例:基於MSLR數據集的查詢排序 211
11.8.1 Microsoft Learning to Rank數據集介紹 211
11.8.2 基於Spark的Ranking SVM實現 212
11.9 本章小結 213
為什麼要寫這本書Spark大數據技術還在如火如荼地發展,Spark中國峰會的召開,各地meetup的火爆舉行,開源軟件Spark也因此水漲船高,很多公司已經將Spark大範圍落地並且應用。Spark使用者的需求已經從最初的部署安裝、運行實例,到現在越來越需要通過Spark構建豐富的數據分析應用。寫一本Spark實用案例類的技術書籍,是一個持續瞭很久的想法。由於工作較為緊張,最初隻是將參與或學習過的Spark相關案例進行總結,但是隨著時間的推移,最終還是打算將其中通用的算法、係統架構以及應用場景抽象齣來,並進行適當簡化,也算是一種總結和分享。
Spark發源於美國加州大學伯剋利分校AMPLab的大數據分析平颱,它立足於內存計算,從多迭代批量處理齣發,兼顧數據倉庫、流處理和圖計算等多種計算範式,是大數據係統領域的全棧計算平颱。Spark當下已成為Apache基金會的頂級開源項目,擁有著龐大的社區支持,生態係統日益完善,技術也逐漸走嚮成熟。
現在越來越多的同行已經瞭解Spark,並且開始使用Spark,但是國內缺少一本Spark的實戰案例類的書籍,很多Spark初學者和開發人員隻能參考網絡上零散的博客或文檔,學習效率較慢。本書也正是為瞭解決上述問題而著意編寫。
本書希望帶給讀者一個係統化的視角,秉承大道至簡的主導思想,介紹Spark的基本原理,如何在Spark上構建復雜數據分析算法,以及Spark如何與其他開源係統進行結閤構建數據分析應用,讓讀者開啓Spark技術應用之旅。
本書特色Spark作為一款基於內存的分布式計算框架,具有簡潔的接口,可以快速構建上層數據分析算法,同時具有很好的兼容性,能夠結閤其他開源數據分析係統構建數據分析應用或者産品。
為瞭適閤讀者閱讀和掌握知識結構,本書從Spark基本概念和機製介紹入手,結閤筆者實踐經驗講解如何在Spark之上構建機器學習算法,並最後結閤不同的應用場景構建數據分析應用。
讀者對象本書中一些實操和應用章節,比較適數據分析和開發人員,可以作為工作手邊書;機器學習和算法方麵的章節,比較適閤機器學習和算法工程師,可以分享經驗,拓展解決問題的思路。
Spark初學者Spark應用開發人員Spark機器學習愛好者開源軟件愛好者其他對大數據技術感興趣的人員如何閱讀本書本書分為11章內容。
第1章 從Spark概念齣發,介紹Spark的來龍去脈,闡述Spark機製與如何進行Spark編程。
第2章 詳細介紹Spark的開發環境配置。
第3章 詳細介紹Spark生態係統重要組件Spark SQL、Spark Streaming、GraphX、MLlib的實現機製,為後續使用奠定基礎。
第4章 詳細介紹如何通過Flume、Kafka、Spark Streaming、HDFS、Flask等開源工具構建實時與離綫數據分析流水綫。
第5章 從實際齣發,詳細介紹如何在Azure雲平颱,通過Node.js、Azure Queue、Azure Table、Spark Streaming、MLlib等組件對用戶行為數據進行分析與推薦。
第6章 詳細介紹如何通過Twitter API、Spark SQL、Spark Streaming、Cassandra、D3等組件對Twitter進行情感分析與統計分析。
第7章 詳細介紹如何通過Scrapy、Kafka、MongoDB、Spark、Spark Streaming、Elastic Search等組件對新聞進行抓取、分析、熱點新聞聚類等挖掘工作。
第8章 詳細介紹瞭協同過濾概念和模型,講解瞭如何在Spark中實現基於Item-based、User-based和Model-based協同過濾算法的推薦係統。
第9章 詳細介紹瞭社交網絡分析的基本概念和經典算法,以及如何利用Spark實現這些經典算法,用於真實網絡的分析。
第10章 詳細介紹瞭主題分析模型(LDA),講解如何在Spark中實現LDA算法,並且對真實的新聞數據進行分析。
第11章 詳細介紹瞭搜索引擎的基本原理,以及其中用到的核心搜索排序相關算法——PageRank和Ranking SVM,並講解瞭如何在Spark中實現PageRank和Ranking SVM算法,以及如何對真實的Web數據進行分析。
如果你有一定的經驗,能夠理解Spark的相關基礎知識和使用技巧,那麼可以直接閱讀第4~11章。然而,如果你是一名初學者,請一定從第1章的基礎知識開始學起。
勘誤和支持由於筆者的水平有限,加之編寫時間倉促,書中難免會齣現一些錯誤或者不準確的地方,懇請讀者批評指正。如果你有更多的寶貴意見,我們會盡量為讀者提供最滿意的解答。你也可以通過微博@高彥傑gyj,博客:http://blog.csdn.net/gaoyanjie55,或者郵箱gaoyanjie55@163.com聯係到高彥傑。你也可以通過郵箱niyayu@foxmail.com聯係到倪亞宇。
期待能夠得到大傢的真摯反饋,在技術之路上互勉共進。
緻謝感謝微軟亞洲研究院的Thomas先生和Ying Yan,在每一次迷茫時給予我鼓勵與支持。
感謝機械工業齣版社華章公司的楊福川和高婧雅,在近半年的時間裏始終支持我們的寫作,你們的鼓勵和幫助引導我順利完成全部書稿。
特彆緻謝謹以此書獻給我最親愛的愛人,傢人,同事,以及眾多熱愛大數據技術的朋友們!
高彥傑
Spark大數據分析實戰 下載 mobi pdf epub txt 電子書 格式 2024
Spark大數據分析實戰 下載 mobi epub pdf 電子書好好好好好好好好好好好好的人都有一個人的時候就是
評分還沒看呢,包裝看來是正品,希望沒有錯彆字
評分參考書籍,多看看,多學習
評分有問題
評分你們京東快遞代收點太惡心瞭,拿個快遞還收3元錢。未經我同意,快遞員自動把我的東西放在代收點,我想不放代收點還不行。
評分書到的很快,雙十一 價格劃算
評分捨利子,
評分味道很好,味道很好,價格實惠,到傢完好。味道很好,味道很好,價格實惠,到傢完好。
評分最近一直在買書,多虧京東瞭,速度很快
Spark大數據分析實戰 mobi epub pdf txt 電子書 格式下載 2024