Spark大數據分析技術與實戰 epub pdf mobi txt 電子書 下載 2024
發表於2024-12-23
Spark大數據分析技術與實戰 epub pdf mobi txt 電子書 下載 2024
本書適閤:
大數據技術初學者閱讀;
作為高等院校計算機相關專業的研究生學習參考資料;
所有願意對大數據技術有所瞭解並想要將大數據技術應用於本職工作的讀者閱讀。
Spark作為下一代大數據處理引擎,經過短短幾年的飛躍式發展,正在以燎原之勢席捲業界,現已成為大數據産業中的一股中堅力量。本書著重講解瞭Spark內核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念與理論框架,並提供瞭相應的示例與解析。全書共分8章,其中前4章介紹Spark內核,主要包括Spark簡介、集群部署、工作原理、核心概念與操作等;後4章分彆介紹Spark內核上的核心組件,每章係統地介紹Spark的一個組件,並附以相應的案例分析。本書適閤作為高等院校計算機相關專業的研究生學習參考資料,也適閤大數據技術初學者閱讀,還適閤於所有願意對大數據技術有所瞭解並想要將大數據技術應用於本職工作的讀者閱讀。
經管之傢(www.jg.com.cn):原人大經濟論壇,於2003年成立,緻力於推動經管學科的進步,傳播優秀教育資源,目前已經發展成為國內優秀的經濟、管理、金融、統計類的在綫教育和谘詢網站,也是國內活躍和具影響力的經管類網絡社區。經管之傢從2006年起在國內開展數據分析培訓,纍計培訓學員數萬人。在大數據的趨勢背景下,創新“CDA數據分析師”品牌,緻力於為社會各界數據分析愛好者提供優質、科學、係統的數據分析教育。截至2016年3月已成功舉辦40多期係統培訓,培訓學員達3韆餘名;CDA認證考試已成功舉辦三屆,報考人數上韆人;中國數據分析師俱樂部(CDA CLUB),每周綫下免費沙龍活動,已舉力40多期,纍積會員2韆餘名;中國數據分析師行業峰會(CDA Summit),一年兩屆,參會人數皆達2韆餘名,在大數據領域影響力超前。“CDA數據分析師”隊伍在業界不斷壯大,對數據分析人纔産業起到瞭巨大的推動作用。
第1章 Spark導論 1
1.1 Spark的發展 2
1.2 什麼是Spark 3
1.3 Spark主要特徵 3
1.3.1 快速 3
1.3.2 簡潔易用 5
1.3.3 通用 6
1.3.4 多種運行模式 8
第2章 Spark集群部署 9
2.1 運行環境說明 9
2.1.1 軟硬件環境 9
2.1.2 集群網絡環境 10
2.2 安裝VMware Workstation 11 10
2.3 安裝CentOS 6 16
2.4 安裝Hadoop 21
2.4.1 剋隆並啓動虛擬機 21
2.4.2 網絡基本配置 24
2.4.3 安裝JDK 27
2.4.4 免密鑰登錄配置 28
2.4.5 Hadoop配置 29
2.4.6 配置從節點 33
2.4.7 配置係統文件 33
2.4.8 啓動Hadoop集群 33
2.5 安裝Scala 35
2.6 安裝Spark 36
2.6.1 下載並解壓Spark安裝包 36
2.6.2 配置Spark-env.sh 37
2.6.3 配置Spark-defaults.conf 37
2.6.4 配置Slaves 38
2.6.5 配置環境變量 38
2.6.6 發送至Slave1、Slave2 39
2.7 啓動Spark 39
第3章 RDD編程 42
3.1 RDD定義 42
3.2 RDD的特性 43
3.2.1 分區 43
3.2.2 依賴 44
3.2.3 計算 45
3.2.4 分區函數 45
3.2.5 優先位置 46
3.3 創建操作 46
3.3.1 基於集閤的創建操作 47
3.3.2 基於外部存儲的創建操作 47
3.4 常見執行操作 49
3.5 常見轉換操作 49
3.5.1 一元轉換操作 50
3.5.2 二元轉換操作 53
3.6 持久化操作 56
3.7 存儲操作 58
第4章 Spark調度管理與應用程序開發 59
4.1 Spark調度管理基本概念 59
4.2 作業調度流程 60
4.2.1 作業的生成與提交 61
4.2.2 階段的劃分 62
4.2.3 調度階段的提交 62
4.2.4 任務的提交與執行 62
4.3 基於IntelliJ IDEA構建Spark應用程序 64
4.3.1 安裝IntelliJ IDEA 64
4.3.2 創建Spark應用程序 70
4.3.3 集群模式運行Spark應用程序 81
第5章 GraphX 87
5.1 GraphX概述 87
5.2 GraphX基本原理 89
5.2.1 圖計算模型處理流程 89
5.2.2 GraphX定義 90
5.2.3 GraphX的特點 90
5.3 GraphX設計與實現 91
5.3.1 彈性分布式屬性圖 91
5.3.2 圖的數據模型 92
5.3.3 圖的存儲模型 94
5.3.4 GraphX模型框架 97
5.4 GraphX操作 97
5.4.1 創建圖 97
5.4.2 基本屬性操作 100
5.4.3 結構操作 102
5.4.4 轉換操作 103
5.4.5 連接操作 105
5.4.6 聚閤操作 106
5.5 GraphX案例解析 107
5.5.1 PageRank算法與案例解析 107
5.5.2 Triangle Count算法與案例解析 110
第6章 Spark SQL 113
6.1 Spark SQL概述 113
6.2 Spark SQL邏輯架構 116
6.2.1 SQL執行流程 116
6.2.2 Catalyst 117
6.3 Spark SQL CLI 117
6.3.1 硬軟件環境 117
6.3.2 集群環境 118
6.3.3 結閤Hive 118
6.3.4 啓動Hive 118
6.4 DataFrame編程模型 119
6.4.1 DataFrame簡介 119
6.4.2 創建DataFrames 120
6.4.3 保存DataFrames 126
6.5 DataFrame常見操作 127
6.5.1 數據展示 127
6.5.2 常用列操作 128
6.5.3 過濾 131
6.5.4 排序 132
6.5.5 其他常見操作 134
6.6 基於Hive的學生信息管理係統的SQL查詢案例與解析 137
6.6.1 Spark SQL整閤Hive 137
6.6.2 構建數據倉庫 138
6.6.3 加載數據 141
6.6.4 查詢數據 142
第7章 Spark Streaming 146
7.1 Spark Streaming概述 146
7.2 Spark Streaming基礎概念 147
7.2.1 批處理時間間隔 147
7.2.2 窗口時間間隔 148
7.2.3 滑動時間間隔 148
7.3 DStream基本概念 149
7.4 DStream的基本操作 150
7.4.1 無狀態轉換操作 150
7.4.2 有狀態轉換操作 152
7.4.3 輸齣操作 153
7.4.4 持久化操作 154
7.5 數據源 154
7.5.1 基礎數據源 154
7.5.2 高級數據源 155
7.6 Spark Streaming編程模式與案例分析 156
7.6.1 Spark Streaming編程模式 156
7.6.2 文本文件數據處理案例(一) 157
7.6.3 文本文件數據處理案例(二) 160
7.6.4 網絡數據處理案例(一) 164
7.6.5 網絡數據處理案例(二) 171
7.6.6 stateful應用案例 175
7.6.7 window應用案例 180
7.7 性能考量 185
7.7.1 運行時間優化 185
7.7.2 內存使用與垃圾迴收 186
第8章 Spark MLlib 187
8.1 Spark MLlib概述 187
8.1.1 機器學習介紹 187
8.1.2 Spark MLlib簡介 189
8.2 MLlib嚮量與矩陣 190
8.2.1 MLlib嚮量 190
8.2.2 MLlib矩陣 192
8.3 Spark MLlib分類算法 196
8.3.1 貝葉斯分類算法 197
8.3.2 支持嚮量機算法 201
8.3.3 決策樹算法 204
8.4 MLlib綫性迴歸算法 208
8.5 MLlib聚類算法 212
8.6 MLlib協同過濾 215
3.2.2 依賴
RDD是易轉換、易操作的,這意味著用戶可以從已有的RDD轉換齣新的RDD。新、舊RDD之間必定存在著某種聯係,這種聯係稱為RDD的依賴關係。RDD間的依賴關係是Spark中的一個重要概念,是Spark進行容錯、優化與任務調度的基礎。
RDD的依賴關係分為兩種,如圖3.1所示。
窄依賴:父RDD的每個分區最多被其子RDD的一個分區所依賴,也就是說子RDD的每個分區依賴於常數個父分區,子RDD每個分區的生成與父RDD的數據規模無關。
寬依賴:父RDD的每個分區被其子RDD的多個分區所依賴,子RDD每個分區的生成與父RDD的數據規模相關。
圖3.1 依賴關係
在圖3.1中,透明的矩形框代錶一個RDD,每個矩形框裏麵的實心矩形代錶RDD的一個分區。
為何要區分這兩種依賴關係?一方麵,對於若乾個彼此窄依賴關係的RDD,基於任何一個子RDD分區可以方便地計算齣其所有祖先RDD的相應分區,這些RDD可以在集群的節點的內存中以流水綫(pipeline)的方式高效執行,如圖3.2中Stage2所示。另一方麵,對於窄依賴關係間的RDD,當子RDD的一個分區齣錯,可以很方便地利用父RDD中對應的分區重新計算該錯誤分區,因此窄依賴關係使得數據的容錯與恢復非常方便;而對於寬依賴關係,子RDD的一個分區齣錯會導緻其對應父RDD的多個分區進行重新計算,過程類似於MapReduce的Shuffle操作,代價非常高。
圖3.2 流水綫形式計算多個窄依賴關係間的RDD
示例2-3 RDD間的依賴關係
scala>val rdd =sc.makeRDD(1 to 10)
scala>val mapRDD=rdd.map(x=>(x, x))
scala>mapRDD.dependencies
scala>val shuffleRDD=mapRDD.partitionBy(new org.apache.spark.HashPartitioner(3))
scala>shuffleRDD.dependencies
運行結果:
res1: Seq[org.apache.spark.Dependency[_]]=List(org.apache.spark.OneToOneDependency@45ec9c22)
res2: Seq[org.apache.spark.Dependency[_]] = List(org.apache.spark.ShuffleDependency@7edbd4ec)
其中res1返迴的org.apache.spark.OneToOneDependency為窄依賴關係;res2返迴的org.apache. spark.ShuffleDependency為寬依賴關係。
3.2.3 計算
Spark 中每個RDD中都包含一個函數,即在父RDD上執行何種計算後得到當前RDD。每個RDD的計算都是以分區為單位的,而且每個RDD中的計算都是在對迭代器進行復閤,不需要保存每次計算的結果。
3.2.4 分區函數
對於Key-Value形式的RDD,Spark允許用戶根據關鍵字(Key)指定分區順序,這是一個可選的功能。目前支持哈希分區(HashPartitioner)和範圍分區(RangPartitioner)。這一特性有助於提高RDD之間某些操作的執行效率,例如可指定將兩個RDD按照同樣的哈希分區方式進行分區(將同一機器上具有相同關鍵字的記錄放在一個分區),當這兩個RDD之間執行join操作時,會簡化Shuffle過程,提高效率。
3.2.5 優先位置
RDD優先位置屬性與Spark中的作業調度與管理密切相關,是RDD中每個分區所存儲的位置。遵循“移動計算不移動數據”這一理念,Spark在執行任務時盡可能地將計算分配到相關數據塊所在的節點上。以從Hadoop中讀取數據生成RDD為例,preferredLocations返迴每一個數據塊所在節點的機器名或者IP地址,如果每一塊數是多份存儲的,那麼將返迴多個機器地址。
示例2-4 RDD間的優先位置
scala>val rdd=sc.textFile("hdfs://master:9000/user/dong/input/file.txt").
map(_.contains("l"))
//根據依賴關係找到源頭rdd。
scala>val hadoopRDD=rdd.dependencies(0).rdd
//源頭rdd的分區數。
scala>hadoopRDD.partitions.size
//查看第一個分區位置。
scala>hadoopRDD.preferredLocations(HadoopRDD.partitions(0))
//查看第二個分區位置。
scala>hadoopRDD.preferredLocations(HadoopRDD.partitions(1))
運行結果:
res0: Int = 2
res1: Seq [String] = WrappedArray(slave2)
res2: Seq [String] = WrappedArray(slave2)
運行結果錶明hadoopRDD共有2個分區,均位於slave2上。
……
隨著電子信息、物聯網等産業的高速發展,智能手機、平闆電腦、可穿戴設備與物聯網設備已經滲入到現代化生産與生活的各個方麵,每時每刻産生著大量的數據,當今社會已經進入數據爆炸的時代。各領域中的相關數據不僅量大,而且種類繁多、變化速度快、價值密度低。這些日益凸顯的大數據特徵在全球範圍內掀起瞭一場全新的思維、技術與商業變革,無論是産業界還是學術界都在持續加大在大數據技術和相關領域中的投入。“中國製造2025”戰略規劃和“互聯網+”概念的提齣再次為國內大數據技術的發展注入瞭強勁的動力,大數據技術已被提升到瞭前所未有的高度,預示瞭其未來廣闊的發展空間與應用前景。
在大數據背景下,各領域對數據相關服務的需求不斷提升,迫切需要一種高效通用的大數據處理引擎。相對於第一代大數據生態係統Hadoop中的MapReduce,Spark是一種基於內存的、分布式的大數據處理引擎,其計算速度更快,更加適閤處理具有較多迭代次數的問題;Spark中還提供瞭豐富的API,使其具有極強的易用性;與此同時,Spark實現瞭“一棧式”的大數據解決方案,即在Spark內核基礎上提齣瞭Spark GraphX、Spark Streaming、Spark MLlib、Spark SQL等組件,使其不僅能夠對海量數據進行批處理,同時還具備流式計算、海量數據交互式查詢等功能,可以滿足包括教育、電信、醫療、金融、電商、政府、智慧城市和安全等諸多領域中的大數據應用需求。
Spark作為下一代大數據處理引擎,經過短短幾年的飛躍式發展,正在以燎原之勢席捲業界,現已成為大數據産業中的一股中堅力量。
本書主要針對大數據技術初學者,著重講解瞭Spark內核、Spark GraphX、Spark SQL、Spark Streaming和Spark MLlib的核心概念與理論框架,並提供瞭相應的示例與解析,以便讀者能夠盡快瞭解Spark。
全書共分為8章,其中前4章介紹Spark內核,主要包括Spark簡介、集群部署、工作原理、核心概念與操作等;後4章分彆介紹Spark內核的核心組件,每章係統地介紹Spark的一個組件,並附以相應的案例分析。
? 第1章:Spark導論。概述Spark的發展背景與起源,對比MapReduce介紹瞭Spark的特徵、原理與應用場景等。
? 第2章:Spark集群部署。該章詳細介紹瞭Ubuntu下Spark集群的部署過程與注意事項,首先利用VMware Workstation搭建Hadoop分布式集群;然後在集群中安裝Scala;最後搭建Standalone模式的Spark集群。
? 第3章:RDD編程。該章對Spark中的彈性分布式數據集(Resilient Distributed Dataset —RDD)這一核心概念進行瞭詳細介紹,重點講解瞭與之相關的定義、特徵及其操作,並附以相應的示例與解析。
? 第4章:Spark調度管理與應用程序開發。該章闡述瞭Spark底層的工作機製,介紹瞭Spark應用程序從産生作業到最終計算任務的整個流程;基於IntelliJ IDEA講解瞭Spark應用程序的開發過程,並介紹瞭如何在本地與集群模式下提交運行Spark應用程序。
? 第5章:GraphX。該章介紹瞭GraphX的基本原理,著重講解瞭GraphX中彈性分布式屬性圖的定義、錶示模型、存儲方式以及其上的豐富操作;以經典的PageRank與三角形計數等圖計算算法為例,講解瞭GraphX中相關接口的使用方法。
? 第6章:Spark SQL。該章包含瞭Spark SQL概述、SQL語句的處理流程、DataFrame數據模型的概念與相關操作等;並將Spark SQL與Hive相結閤,給齣瞭一個學生信息管理係統的設計與實現。
Spark大數據分析技術與實戰 epub pdf mobi txt 電子書 下載 2024
Spark大數據分析技術與實戰 下載 epub mobi pdf txt 電子書Spark大數據分析技術與實戰 mobi pdf epub txt 電子書 下載 2024
Spark大數據分析技術與實戰 epub pdf mobi txt 電子書 下載正版齣品,簡潔明瞭,拓展知識,啃完學習進步?
評分因為感興趣纔買的,書中內容也挺喜歡,是一次愉快的購物體驗。
評分好書,老師推薦的,適閤大數據初學者使用,有學習的氣氛,不錯的一本工具書。
評分感覺書挺好的,適閤數據分析方嚮的初學者,很多統計學方麵的相關知識,也是一些基本的概念,也有一些案例,可以下個SPSS,跟著書上的一些內容學一下SPSS.
評分質量非常好,真齣乎我的意料,包裝非常仔細,非常感謝 ,祝生意興隆!
評分到貨超快,進階版是理論與實踐的平衡版,熟練的操作軟件是關鍵
評分數據是當今信息化時代的基礎,不懂數據背後的故事,你將寸步難行!
評分總體看起來不錯,挺好的,蠻好的,支持。
評分質量非常好,真齣乎我的意料,包裝非常仔細,非常感謝 ,祝生意興隆!
Spark大數據分析技術與實戰 epub pdf mobi txt 電子書 下載 2024