內容簡介
bm266255 9787115404749 9787115422286 9787115399830 9787115403094
Spark數據分析
Cloudera公司數據科學傢團隊攜手打造,教你用Spark進行大規模數據分析 基本信息
- 作者:
- 譯者:
- 齣版社:
- ISBN:9787115404749
- 上架時間:2015-10-23
- 齣版日期:2015 年8月
- 開本:16開
- 頁碼:244
- 版次:1-1
- 所屬分類:
內容簡介
本書是使用Spark進行大規模數據分析的實戰寶典,由大數據公司Cloudera的數據科學傢撰寫。四位作者首先結閤數據科學和大數據分析的廣闊背景講解瞭Spark,然後介紹瞭用Spark和Scala進行數據處理的基礎知識,接著討論瞭如何將Spark用於機器學習,同時介紹瞭常見應用中幾個常用的算法。此外還收集瞭一些更加新穎的應用,比如通過文本隱含語義關係來查詢Wikipedia或分析基因數據。
本書適閤從事大數據分析的各類專業人員閱讀。
目錄
推薦序 ix
譯者序 xi
序 xiii
前言 xv
第1章 大數據分析 1
1.1 數據科學麵臨的挑戰 2
1.2 認識Apache Spark 4
1.3 關於本書 5
第2章 用Scala和Spark進行數據分析 7
2.1 數據科學傢的Scala 8
2.2 Spark 編程模型 9
2.3 記錄關聯問題 9
2.4 小試牛刀:Spark shell和SparkContext 10
2.5 把數據從集群上獲取到客戶端 15
2.6 把代碼從客戶端發送到集群 18
2.7 用元組和case class對數據進行結構化 19
2.8 聚閤 23
2.9 創建直方圖 24
2.10 連續變量的概要統計 25
2.11 為計算概要信息創建可重用的代碼 26
2.12 變量的選擇和評分簡介 30
2.13 小結 31
第3章 音樂推薦和Audioscrobbler數據集 33
3.1 數據集 34
3.2 交替小二乘推薦算法 35
3.3 準備數據 37
3.4 構建一個模型 39
3.5 逐個檢查推薦結果 42
3.6 評價推薦質量 43
3.7 計算AUC 44
3.8 選擇超參數 46
3.9 産生推薦 48
3.10 小結 49
第4章 用決策樹算法預測森林植被 51
4.1 迴歸簡介 52
4.2 嚮量和特徵 52
4.3 樣本訓練 53
4.4 決策樹和決策森林 54
4.5 Covtype數據集 56
4.6 準備數據 57
4.7 第決策樹 58
4.8 決策樹的超參數 62
4.9 決策樹調優 63
4.10 重談類彆型特徵 65
4.11 隨機決策森林 67
4.12 進行預測 69
4.13 小結 69
第5章 基於K均值聚類的網絡流量異常檢測 71
5.1 異常檢測 72
5.2 K均值聚類 72
5.3 網絡入侵 73
5.4 KDD Cup 1999數據集 73
5.5 初步嘗試聚類 74
5.6 K 的選擇 76
5.7 基於R的可視化 79
5.8 特徵的規範化 81
5.9 類彆型變量 83
5.10 利用標號的熵信息 84
5.11 聚類實戰 85
5.12 小結 86
第6章 基於潛在語義分析算法分析維基百科 89
6.1 詞項-文檔矩陣 90
6.2 獲取數據 91
6.3 分析和準備數據 92
6.4 詞形歸並 93
6.5 計算TF-IDF 94
6.6 奇異值分解 97
6.7 找齣重要的概念 98
6.8 基於低維近似的查詢和評分 101
6.9 詞項-詞項相關度 102
6.10 文檔-文檔相關度 103
6.11 詞項-文檔相關度 105
6.12 多詞項查詢 106
6.13 小結 107
第7章 用GraphX分析伴生網絡 109
7.1 對MEDLINE文獻引用索引的網絡分析 110
7.2 獲取數據 111
7.3 用Scala XML工具解析XML文檔 113
7.4 分析MeSH主要主題及其伴生關係 114
7.5 用GraphX來建立一個伴生網絡 116
7.6 理解網絡結構 119
7.6.1 連通組件 119
7.6.2 度的分布 122
7.7 過濾噪聲邊 124
7.7.1 處理EdgeTriplet 125
7.7.2 分析去掉噪聲邊的子圖 126
7.8 小世界網絡 127
7.8.1 係和聚類係數 128
7.8.2 用Pregel計算平均路徑長度 129
7.9 小結 133
第8章 紐約齣租車軌跡的空間和時間數據分析 135
8.1 數據的獲取 136
8.2 基於Spark的時間和空間數據分析 136
8.3 基於JodaTime和NScalaTime的時間數據處理 137
8.4 基於Esri Geometry API和Spray的地理空間數據處理 138
8.4.1 認識Esri Geometry API 139
8.4.2 GeoJSON簡介 140
8.5 紐約市齣租車客運數據的預處理 142
8.5.1 大規模數據中的非法記錄處理 143
8.5.2 地理空間分析 147
8.6 基於Spark的會話分析 149
8.7 小結 153
第9章 基於濛特卡羅模擬的金融風險評估 155
9.1 術語 156
9.2 VaR計算方法 157
9.2.1 方差-協方差法 157
9.2.2 曆史模擬法 157
9.2.3 濛特卡羅模擬法 157
9.3 我們的模型 158
9.4 獲取數據 158
9.5 數據預處理 159
9.6 確定市場因素的權重 162
9.7 采樣 164
9.8 運行試驗 167
9.9 迴報分布的可視化 170
9.10 結果的評估 171
9.11 小結 173
第10章 基因數據分析和BDG項目 175
10.1 分離存儲與模型 176
10.2 用ADAM CLI導入基因學數據 178
10.3 從ENCODE數據預測轉錄因子結閤位點 185
10.4 查詢1000 Genomes項目中的基因型 191
10.5 小結 193
第11章 基於PySpark和Thunder的神經圖像數據分析 195
11.1 PySpark簡介 196
11.2 Thunder工具包概況和安裝 199
11.3 用Thunder加載數據 200
11.4 用Thunder對神經元進行分類 207
11.5 小結 211
附錄A Spark進階 213
附錄B 即將發布的MLlib Pipelines API 221
作者介紹 226
封麵介紹 226
譯者序
Spark·佳實踐
騰訊專傢傳授實戰經驗
本書是Spark實戰指南,全書共分8章。前4章介紹Spark的部署、工作機製和內核,後4章分彆通過實戰項目介紹SparkSQL、SparkStreaming、SparkGraphX和SparkMLib功能模塊。此外,本書詳細介紹瞭常見的實戰問題,比如大數據環境下的配置設置、程序調優等。本書附帶的一鍵安裝腳本,更能為初學者提供很大幫助。
第1 章 Spark 與大數據 1
1.1 大數據的發展及現狀 1
1.1.1 大數據時代所麵臨的問題 1
1.1.2 榖歌的大數據解決方案 2
1.1.3 Hadoop 生態係統 3
1.2 Spark 應時而生 4
1.2.1 Spark 的起源 4
1.2.2 Spark 的特點 5
1.2.3 Spark 的未來發展 6
第2 章 Spark 基礎 8
2.1 Spark 本地單機模式體驗 8
2.1.1 安裝虛擬機 8
2.1.2 安裝JDK 19..
內容簡介
Spark是不斷壯大的大數據分析解決方案傢族中備受關注的新成員。它不僅為分布式數據集的處理提供瞭一個有效框架,而且以高效的方式處理分布式數據集。它支持實時處理、流處理和批處理,提供瞭統一的解決方案,因此極具競爭力。本書以源碼為基礎,深入分析spark內核的設計理念和架構實現,係統講解各個核心模塊的實現,為性能調優、二次開發和係統運維提供理論支持,為更好地使用Spark Streaming、MLlib、Spark SQL和GraphX等奠定基礎。
目錄
序
前言
第1章 Spark簡介1
1.1Spark的技術背景1
1.2Spark的優點2
1.3Spark架構綜述4
1.4Spark核心組件概述5
1.4.1Spark Streaming5
1.4.2MLlib6
1.4.3Spark SQL7
1.4.4 GraphX8
1.5Spark的整體代碼結構規模8
第2章 Spark學習環境的搭建9
2.1源碼的獲取與編譯9
2.1.1源碼獲取9
2.1.2源碼編譯10
2.2構建Spark的源碼閱讀環境11
2.3小結15
第3章 RDD實現詳解16
3.1概述16
Spark機器學習
當機器學習遇上非常流行的並行計算框架Spark.... 基本信息
- 作者:
- 譯者:
- 叢書名:
- 齣版社:
- ISBN:9787115399830
- 上架時間:2015-8-17
- 齣版日期:2015 年9月
- 開本:16開
- 頁碼:224
- 版次:1-1
- 所屬分類: > >
編輯推薦
Apache Spark是一個分布式計算框架,專為滿足低延遲任務和內存數據存儲的需求而優化。現有並行計算框架中,鮮有能兼顧速度、可擴展性、內存處理以及容錯性,同時還能簡化編程,提供靈活、錶達力豐富的強大API的,Apache Spark就是這樣一個難得的框架。
本書介紹瞭Spark的基礎知識,從利用Spark API來載入和處理數據,到將數據作為多種機器學習模型的輸入。此外還通過詳細的例子和現實應用講解瞭常見的機器學習模型,包括推薦係統、分類、迴歸、聚類和降維。另外還介紹瞭一些高階內容,如大規模文本數據的處理,以及Spark Streaming下的在綫機器學習和模型評估方法。
如果你是一名Scala、Java或Python開發者,對機器學習和數據分析感興趣,並想藉助Spark框架來實現常見機器學習技術的大規模應用,那麼本書便是為你而寫。有Spark的基礎知識,但並不要求你有實踐經驗。
通過學習本書,你將能夠:
用Scala、Java或Python語言編寫你的一個Spark程序;
在你的本機和Amon EC2上創建和配置Spark開發環境;
獲取公開的機器學習數據集,以及使用Spark對數據進行載入、處理、清理和轉換;
藉助Spark機器學習庫,利用協同過濾、分類、迴歸、聚類和降維等常見的機器學習模型來編寫程序;
編寫Spark函數來評估你的機器學習模型的性能;
瞭解大規模文本數據的處理方法,包括特徵提取和將文本數據作為機器學習模型的輸入;
探索在綫學習方法,利用Spark Streaming來進行在綫學習和模型評估。
內容簡介
Spark快速大數據分析
基本信息
- 作者:
- 譯者:
- 齣版社:
- ISBN:9787115403094
- 上架時間:2015-9-16
- 齣版日期:2015 年9月
- 開本:16開
- 頁碼:210
- 版次:1-1
- 所屬分類: > >
編輯推薦
國內第本Spark圖書!
Spark開發者齣品!
《Spark快速大數據分析》是一本為Spark初學者準備的書,它沒有過多深入實現細節,而是更多關注上層用戶的具體用法。不過,本書絕不僅僅限於Spark的用法,它對Spark的核心概念和基本原理也有較為全麵的介紹,讓讀者能夠知其然且知其所以然。
內容簡介
本書由 Spark 開發者及核心成員共同打造,講解瞭網絡大數據時代應運而生的、能高效迅捷地分析處理數據的工具——Spark,它帶領讀者快速掌握用 Spark 收集、計算、簡化和保存海量數據的方法,學會交互、迭代和增量式分析,解決分區、數據本地化和自定義序列化等問題。
本書適閤大數據時代所有需要進行數據分析的人員閱讀。
作譯者
Holden Karau是Databricks的軟件開發工程師,活躍於開源社區。她還著有《Spark快速數據處理》。
Andy Konwinski是Databricks聯閤創始人,Apache Spark項目技術專傢,還是Apache Mesos項目的聯閤發起人。
Patrick Wendell是Databricks聯閤創始人,也是Apache Spark項目技術專傢。他還負責維護Spark核心引擎的幾個子係統。
Matei Zaharia是Databricks的CTO,同時也是Apache Spark項目發起人以及Apache基金會副主席。
目錄
推薦序 xi
《深入探索:海量數據處理與智能決策的新紀元》 在數字浪潮洶湧澎湃的今天,數據已然成為驅動現代社會發展的核心引擎。海量數據如同未經雕琢的鑽石,蘊含著巨大的商業價值和洞察力,但要從中提煉齣金子,則需要強大的工具和精湛的技藝。本書正是為應對這一挑戰而生,它將帶領您穿越數據的迷霧,抵達智能決策的新彼岸。 本書並非市麵上常見的技術入門手冊,它更像是一位經驗豐富的嚮導,將引導您深入理解構建高效、可擴展大數據處理與分析係統的底層邏輯與精髓。我們將避開那些泛泛而談的初級概念,直接聚焦於那些能夠真正決定係統性能、穩定性和應用前景的關鍵環節。 第一篇:分布式計算的基石——性能優化與容錯機製的精微之道 分布式計算是處理海量數據的必然選擇,而Spark作為當今最炙手可熱的分布式計算框架,其強大的能力離不開精妙的設計。然而,僅僅瞭解Spark的基本API是遠遠不夠的。在本篇中,我們將深入剖析Spark的執行引擎,揭示其任務調度、數據分區、Shuffle過程等核心機製的運行原理。我們會詳細探討如何通過精細化的參數調優,例如調整Executor的內存分配、Core數量,以及Stage與Task的劃分策略,來最大限度地提升作業的執行效率。 您將瞭解到,僅僅依靠Spark默認的配置往往無法在真實生産環境中發揮其最佳性能。我們將分享一係列經過實踐檢驗的優化技巧,包括但不限於:如何有效管理內存,避免OOM(Out of Memory)錯誤;如何優化Shuffle過程,減少網絡I/O和磁盤I/O的開銷,例如通過Broadcast Join、Sort-Merge Join的策略選擇,以及Skew Join的處理方法。我們會深入分析數據傾斜的成因,並提供多種行之有效的解決方案,如數據重分區、局部聚閤等。 容錯機製是分布式係統穩定運行的生命綫。Spark的RDD(Resilient Distributed Datasets)設計天然具備容錯能力,但其背後的容錯原理,如Lineage(血緣關係)的構建與恢復機製,以及Checkpoint(檢查點)的應用場景與最佳實踐,需要深刻理解。我們將詳細講解在不同故障場景下,Spark如何實現故障轉移和數據恢復,並探討如何設計更具彈性的應用程序,以應對網絡抖動、節點失效等不可預見的挑戰。 此外,我們還將探討Spark Streaming和Structured Streaming在處理實時數據流時的復雜性。如何保證數據的一緻性(Exactly-Once, At-Least-Once)、如何管理狀態(State Management)、如何應對高峰流量的湧入,這些都是需要深入研究的課題。我們將深入分析其背後的機製,並提供相應的優化策略,例如窗口函數的選擇、觸發器的設置,以及水源(Source)和匯(Sink)的配置優化。 第二篇:機器學習模型在Spark生態下的融閤與實踐 機器學習是釋放數據潛力的關鍵技術,而Spark憑藉其強大的計算能力和豐富的生態係統,已成為構建和部署大規模機器學習模型的理想平颱。本篇將聚焦於如何在Spark框架下,高效、大規模地進行機器學習模型的訓練、評估和推理。 我們將跳過基礎的機器學習算法介紹,直接探討在分布式環境下實現這些算法的挑戰與解決方案。例如,在並行化訓練大規模模型時,如何有效地管理模型參數的同步(Parameter Server、All-Reduce),如何選擇閤適的分布式訓練策略,以及如何針對特定算法(如深度學習中的反嚮傳播)進行優化。 我們將詳細介紹Spark MLlib庫的高級特性,並不僅僅停留在API的調用層麵。我們會深入理解其底層實現,例如分布式矩陣運算的優化、特徵工程的並行化處理,以及模型評估的分布式統計計算。您將學習如何針對不同的數據特性和業務需求,選擇最優的特徵提取和特徵選擇方法,以及如何有效地處理高維稀疏數據。 對於復雜的模型,例如深度學習模型,我們將探討如何利用Spark與其他深度學習框架(如TensorFlow、PyTorch)進行集成,實現分布式訓練。我們將介紹Spark on Kubernetes、Spark on YARN等部署模式如何為深度學習提供強大的算力支持,以及如何利用Spark來管理和調度大規模的深度學習訓練任務。 更重要的是,我們將關注模型在生産環境中的部署與推理。如何將訓練好的模型高效地集成到Spark Streaming或Structured Streaming管道中,實現實時預測?如何對模型進行優化,以應對低延遲的推理需求?我們將探討模型量化、模型剪枝等技術,以及如何在Spark集群上實現高吞吐量的模型推理服務。 第三篇:企業級Spark應用架構與性能調優的深度洞察 將Spark技術成功應用於企業級生産環境,需要超越技術的層麵,深入理解係統架構、部署策略和運維管理。本篇將為您提供企業級Spark應用開發的深度洞察。 我們首先會深入分析Spark與其他大數據組件(如HDFS、Hive、Kafka、HBase)的集成之道。理解它們之間的協作原理,以及如何構建一個高效、穩定的數據管道。我們將探討數據湖(Data Lake)和數據倉庫(Data Warehouse)的架構設計,以及Spark在其中的作用。 在集群部署方麵,我們將詳細介紹Spark在不同環境下的部署策略,包括Standalone模式、YARN模式、Mesos模式以及Kubernetes模式。我們將深入分析每種模式的優劣勢,以及在不同場景下的適用性。您將學會如何進行集群的資源規劃、配置優化,以及如何應對大規模集群的管理挑戰。 性能調優並非一蹴而就,而是持續的工程實踐。我們將在本篇中分享一套完整的性能調優方法論,從指標監控、瓶頸分析到問題定位和解決方案實施。您將學習如何利用Spark UI、Ganglia、Prometheus等工具來監控集群和作業的運行狀態,如何識彆性能瓶頸(CPU、內存、I/O、網絡),以及如何采取有針對性的調優措施。 此外,我們還將探討Spark應用程序的安全加固,包括數據加密、訪問控製、認證授權等。以及在大數據環境下,如何進行有效的日誌管理、告警機製的建立,以及故障排查的標準化流程。 最後,我們將分享一些企業級Spark應用的最佳實踐案例,涵蓋金融、電商、物聯網等不同行業。通過分析這些實際案例,您可以更直觀地理解本書中的技術概念如何在真實世界中落地,並從中汲取寶貴的經驗。 本書的目標是培養具備“工匠精神”的大數據技術專傢,讓您不僅能夠熟練運用Spark,更能深入理解其內在機製,成為解決復雜大數據挑戰的行傢裏手。我們相信,通過本書的學習,您將能夠構建齣更強大、更智能、更具競爭力的海量數據處理與分析係統,開啓屬於您的智能決策新紀元。