-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書(shū)第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門(mén)到精通-(附贈(zèng)1DVD.含語(yǔ)音視頻教學(xué)+辦公模板+PDF電子書(shū))
循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā) 版權(quán)信息
- ISBN:9787302675204
- 條形碼:9787302675204 ; 978-7-302-67520-4
- 裝幀:平裝-膠訂
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā) 本書(shū)特色
《循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā)》是一本深入淺出的Spark大數(shù)據(jù)開(kāi)發(fā)實(shí)戰(zhàn)指南,專為希望掌握Apache Spark 3.x技術(shù)棧的開(kāi)發(fā)者量身定制!堆驖u進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā)》不僅涵蓋了Spark的基礎(chǔ)概念和安裝步驟,更通過(guò)豐富的實(shí)戰(zhàn)案例和上機(jī)練習(xí),引導(dǎo)讀者逐步深入理解并掌握Spark的核心組件、集群管理、SQL處理、流式數(shù)據(jù)處理以及機(jī)器學(xué)習(xí)與圖計(jì)算等高級(jí)功能。
作者憑借一線開(kāi)發(fā)經(jīng)驗(yàn),精心編排了10個(gè)章節(jié)的內(nèi)容,確保讀者能夠循序漸進(jìn)地學(xué)習(xí)Spark的各項(xiàng)關(guān)鍵技術(shù)。從*簡(jiǎn)單的Spark程序編寫(xiě)開(kāi)始,逐步過(guò)渡到復(fù)雜的數(shù)據(jù)處理和分析任務(wù),每一章都充滿了實(shí)用價(jià)值和操作指導(dǎo)。
特別值得一提的是,《循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā)》提供了24個(gè)精心設(shè)計(jì)的實(shí)戰(zhàn)案例和26個(gè)上機(jī)練習(xí)題,這些內(nèi)容旨在幫助讀者將理論知識(shí)轉(zhuǎn)化為實(shí)踐技能,快速提升解決實(shí)際問(wèn)題的能力。無(wú)論是對(duì)于學(xué)生、大數(shù)據(jù)開(kāi)發(fā)人員還是架構(gòu)師來(lái)說(shuō),這都是一本不可多得的寶貴資源。
循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā) 內(nèi)容簡(jiǎn)介
本書(shū)結(jié)合作者一線開(kāi)發(fā)實(shí)踐,循序漸進(jìn)地介紹了新版Apache Spark 3.x的開(kāi)發(fā)技術(shù)。全書(shū)共10章,第1章和第2章主要介紹Spark的基本概念、安裝,并演示如何編寫(xiě)*簡(jiǎn)單的Spark程序。第3章深入探討了Spark的核心組件RDD。第4章講解了Spark集群管理,幫助讀者理解任務(wù)提交與執(zhí)行的基本原理。第5章介紹了Spark SQL,這是處理結(jié)構(gòu)化數(shù)據(jù)的基礎(chǔ)工具。第6章展示了Spark Web UI,通過(guò)界面化的方式了解Spark集群運(yùn)行狀況。第7章和第8章分別介紹了Spark流式數(shù)據(jù)處理框架Spark Streaming和Structured Streaming。第9章和第10章則分別介紹了業(yè)界流行的機(jī)器學(xué)習(xí)和圖計(jì)算處理框架MLlib和GraphX。書(shū)中各章節(jié)還提供了豐富的實(shí)戰(zhàn)案例和上機(jī)練習(xí)題,以便讀者在學(xué)習(xí)的同時(shí)進(jìn)行實(shí)際操作,迅速提升動(dòng)手能力。
本書(shū)技術(shù)先進(jìn),案例豐富,適合對(duì)Spark大數(shù)據(jù)應(yīng)用感興趣的學(xué)生、大數(shù)據(jù)開(kāi)發(fā)人員及架構(gòu)師使用,也可作為培訓(xùn)機(jī)構(gòu)和高校大數(shù)據(jù)課程的教學(xué)用書(shū)。
循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā) 目錄
1.1 Spark簡(jiǎn)介 1
1.1.1 誕生與初始階段 1
1.1.2 開(kāi)源與社區(qū)建設(shè) 2
1.1.3 成為頂級(jí)項(xiàng)目 2
1.1.4 版本更新 3
1.2 Spark組成 4
1.2.1 Spark Core 5
1.2.2 集群管理器 5
1.2.3 Spark UI 5
1.2.4 Spark SQL 6
1.2.5 Spark Streaming 6
1.2.6 Structured Streaming 6
1.2.7 MLlib 6
1.2.8 GraphX 7
1.2.9 其他 7
1.3 Spark數(shù)據(jù)類型 7
1.3.1 RDD 7
1.3.2 DataFrame 8
1.3.3 Dataset 8
1.3.4 數(shù)值類型 8
1.3.5 字符串類型 8
1.3.6 日期和時(shí)間類型 9
1.3.7 復(fù)雜類型 9
1.4 Spark的使用場(chǎng)景 9
1.4.1 批處理 9
1.4.2 實(shí)時(shí)流處理 9
1.4.3 分布式文件系統(tǒng) 10
1.4.4 機(jī)器學(xué)習(xí) 10
1.4.5 圖計(jì)算 10
1.5 Spark與Hadoop的聯(lián)系與區(qū)別 11
1.5.1 Hadoop概述 11
1.5.2 Spark的優(yōu)缺點(diǎn) 11
1.5.3 Spark與Hadoop的關(guān)系 12
1.6 本章小結(jié) 12
第 2 章 Spark安裝及初體驗(yàn) 13
2.1 下載并安裝Spark 13
2.1.1 普通安裝 13
2.1.2 通過(guò)Docker鏡像安裝 15
2.1.3 驗(yàn)證安裝 17
2.2 通過(guò)Shell使用Spark 18
2.2.1 使用Scala的Shell 18
2.2.2 使用其他語(yǔ)言的Shell 19
2.3 實(shí)戰(zhàn):通過(guò)Spark進(jìn)行詞頻統(tǒng)計(jì) 19
2.3.1 初始化應(yīng)用 19
2.3.2 創(chuàng)建Spark應(yīng)用程序 20
2.3.3 準(zhǔn)備數(shù)據(jù)文件 22
2.3.4 運(yùn)行程序 22
2.4 日志信息詳解 23
2.4.1 啟動(dòng)信息 23
2.4.2 資源分配、Spark上下文初始化 25
2.4.3 任務(wù)進(jìn)度和狀態(tài) 26
2.4.4 應(yīng)用程序日志 29
2.4.5 完成信息 29
2.5 動(dòng)手練習(xí) 31
練習(xí)1:安裝和配置Spark 31
練習(xí)2:使用Spark讀取CSV文件并顯示前5行 32
練習(xí)3:使用Spark創(chuàng)建不同類型的數(shù)據(jù)結(jié)構(gòu) 33
練習(xí)4:通過(guò)Spark進(jìn)行詞頻統(tǒng)計(jì) 34
2.6 本章小結(jié) 36
第 3 章 RDD基礎(chǔ)編程 37
3.1 了解RDD的基本概念 37
3.1.1 RDD的定義 37
3.1.2 RDD的特性 38
3.1.3 RDD的操作 38
3.1.4 RDD的依賴關(guān)系 38
3.1.5 RDD的容錯(cuò)機(jī)制 39
3.1.6 RDD的持久化 40
3.2 創(chuàng)建RDD 40
3.2.1 并行化集合 40
3.2.2 讀取外部數(shù)據(jù)集 40
3.3 操作RDD 41
3.4 實(shí)戰(zhàn):transformation操作 42
3.4.1 map 42
3.4.2 filter 44
3.4.3 flatMap 44
3.4.4 sample 45
3.4.5 union 46
3.4.6 distinct 46
3.4.7 groupByKey 47
3.5 實(shí)戰(zhàn):action操作 48
3.5.1 collect 48
3.5.2 reduce 49
3.5.3 count 49
3.5.4 first 50
3.5.5 take 50
3.5.6 foreach 51
3.5.7 saveAsTextFile 51
3.6 惰性求值 52
3.7 函數(shù)式編程 53
3.8 持久化 53
3.8.1 RDD持久化的基本概念 53
3.8.2 RDD持久化的方法 54
3.8.3 RDD持久化的存儲(chǔ)級(jí)別 54
3.8.4 RDD持久化的使用場(chǎng)景 54
3.8.5 RDD持久化的注意事項(xiàng) 54
3.8.6 刪除數(shù)據(jù) 55
3.9 實(shí)戰(zhàn):持久化 55
3.10 共享變量 57
3.10.1 廣播變量 57
3.10.2 累加器 58
3.11 混洗 60
3.11.1 定義與原理 60
3.11.2 混洗流程 61
3.11.3 混洗優(yōu)化方法 62
3.12 鍵-值對(duì) 62
3.13 動(dòng)手練習(xí) 63
練習(xí)1:創(chuàng)建一個(gè)RDD并打印其元素(并行化集合) 63
練習(xí)2:讀取外部數(shù)據(jù)集并統(tǒng)計(jì)單詞數(shù)量(讀取外部數(shù)據(jù)集) 64
3.14 本章小結(jié) 65
第 4 章 Spark集群管理 66
4.1 Spark集群概述 66
4.1.1 Spark集群組件 66
4.1.2 使用Spark集群的注意事項(xiàng) 67
4.1.3 集群管理器類型 68
4.2 提交任務(wù)到Spark集群 68
4.2.1 捆綁應(yīng)用程序的依賴關(guān)系 68
4.2.2 使用spark-submit啟動(dòng)應(yīng)用 69
4.2.3 主節(jié)點(diǎn)URL 70
4.2.4 從文件加載配置 71
4.3 啟動(dòng)Spark集群 71
4.3.1 手動(dòng)啟動(dòng)集群 72
4.3.2 集群?jiǎn)?dòng)腳本 72
4.4 Spark集群的高可用方案 73
4.4.1 使用ZooKeeper的備用模式 73
4.4.2 使用本地文件系統(tǒng)的單節(jié)點(diǎn)恢復(fù) 74
4.5 使用YARN集群 74
4.5.1 在YARN集群管理器上啟動(dòng)Spark 74
4.5.2 添加其他的JAR 75
4.5.3 調(diào)試應(yīng)用 75
4.5.4 使用Spark歷史記錄服務(wù)器替換Spark Web UI 76
4.6 YARN集群的常用配置 77
4.7 YARN集群資源分配和配置 80
4.8 YARN階段級(jí)調(diào)度 81
4.8.1 階段級(jí)調(diào)度概述 81
4.8.2 注意事項(xiàng) 82
4.9 動(dòng)手練習(xí) 82
練習(xí)1:提交任務(wù)到Spark集群 82
練習(xí)2:?jiǎn)?dòng)Spark集群 83
練習(xí)3:使用YARN集群 84
練習(xí)4:使用Spark進(jìn)行數(shù)據(jù)清洗和轉(zhuǎn)換 84
4.10 本章小結(jié) 86
第 5 章 Spark SQL 87
5.1 Spark SQL的基本概念及工作原理 87
5.1.1 Spark SQL的基本概念 87
5.1.2 Spark SQL的工作原理 88
5.1.3 Spark RDD與Spark SQL的比較 89
5.1.4 抉擇建議 90
5.2 Dataset與DataFrame 90
5.2.1 SQL API與Dataset/DataFrame API 90
5.2.2 RDD、Dataset和DataFrame的優(yōu)缺點(diǎn)總結(jié) 92
5.2.3 RDD、Dataset、DataFrame的相互轉(zhuǎn)換 93
5.3 實(shí)戰(zhàn):DataFrame的基本操作 94
5.3.1 創(chuàng)建SparkSession 94
5.3.2 創(chuàng)建DataFrame 95
5.3.3 DataFrame的常用操作 97
5.4 實(shí)戰(zhàn):Dataset的基本操作 99
5.4.1 創(chuàng)建SparkSession 99
5.4.2 創(chuàng)建Dataset 100
5.4.3 Dataset的常用操作 101
5.5 實(shí)戰(zhàn):使用DataFrame創(chuàng)建臨時(shí)視圖 103
5.5.1 如何創(chuàng)建本地臨時(shí)視圖 104
5.5.2 createTempView與createOrReplaceTempView的異同 105
5.5.3 全局臨時(shí)視圖 105
5.6 實(shí)戰(zhàn):RDD轉(zhuǎn)換為Dataset 106
5.6.1 使用反射推斷Schema 106
5.6.2 以編程方式構(gòu)建Schema 107
5.7 Apache Parquet列存儲(chǔ)格式 108
5.7.1 什么是列存儲(chǔ)格式 108
5.7.2 Parquet文件格式 110
5.8 實(shí)戰(zhàn):Apache Parquet數(shù)據(jù)源的讀取和寫(xiě)入 111
5.8.1 讀取Parquet文件 111
5.8.2 寫(xiě)入Parquet文件 112
5.8.3 手動(dòng)指定選項(xiàng) 113
5.9 實(shí)戰(zhàn):使用JDBC操作數(shù)據(jù)庫(kù) 115
5.9.1 引入JDBC驅(qū)動(dòng)程序 115
5.9.2 初始化表結(jié)構(gòu)和數(shù)據(jù) 115
5.9.3 讀取表數(shù)據(jù) 117
5.9.4 設(shè)置查詢條件 118
5.9.5 將數(shù)據(jù)寫(xiě)入表 119
5.10 實(shí)戰(zhàn):讀取二進(jìn)制文件 120
5.10.1 讀取二進(jìn)制文件 120
5.10.2 運(yùn)行應(yīng)用 121
5.11 實(shí)戰(zhàn):導(dǎo)出數(shù)據(jù)到CSV文件 122
5.11.1 創(chuàng)建Dataset 122
5.11.2 將Dataset導(dǎo)出到CSV文件 123
5.11.3 運(yùn)行 124
5.12 Apache ORC文件 124
5.12.1 ORC文件概述 124
5.12.2 ORC支持的數(shù)據(jù)類型 125
5.12.3 ORC實(shí)現(xiàn) 126
5.12.4 矢量化讀取器 127
5.12.5 模式合并 127
5.12.6 使用Zstandard壓縮 127
5.12.7 使用Bloom過(guò)濾器 127
5.12.8 列式加密 128
5.12.9 Hive元存儲(chǔ)ORC表轉(zhuǎn)換 128
5.12.10 ORC的常用配置 128
5.13 實(shí)戰(zhàn):Apache ORC文件操作示例 129
5.13.1 寫(xiě)入ORC文件 129
5.13.2 讀取ORC文件 130
5.14 Apache Hive數(shù)據(jù)倉(cāng)庫(kù) 130
5.14.1 Hive的特性 131
5.14.2 Hive數(shù)據(jù)組織 131
5.14.3 Hive的數(shù)據(jù)類型 132
5.14.4 創(chuàng)建、顯示、更改和刪除表 133
5.14.5 加載數(shù)據(jù) 136
5.14.6 查詢 137
5.15 實(shí)戰(zhàn):Apache Hive操作示例 139
5.15.1 Spark集成Hive 139
5.15.2 創(chuàng)建SparkSession 140
5.15.3 建表 141
5.15.4 加載數(shù)據(jù) 141
5.15.5 查詢 141
5.15.6 運(yùn)行 141
5.16 Apache Avro格式 142
5.16.1 Avro概述 142
5.16.2 Avro的架構(gòu)與實(shí)現(xiàn) 143
5.16.3 Avro類型轉(zhuǎn)換Spark SQL類型 143
5.16.4 Spark SQL類型轉(zhuǎn)換Avro類型 144
5.17 實(shí)戰(zhàn):Apache Avro操作示例 145
5.17.1 Spark集成Avro 145
5.17.2 創(chuàng)建SparkSession 147
5.17.3 讀取Avro文件 147
5.17.4 寫(xiě)入Avro文件 147
5.18 動(dòng)手練習(xí) 148
練習(xí)1:使用DataFrame創(chuàng)建臨時(shí)視圖 148
練習(xí)2:對(duì)Apache Parquet數(shù)據(jù)源進(jìn)行數(shù)據(jù)的讀取和寫(xiě)入 149
練習(xí)3:使用DataFrame操作數(shù)據(jù)庫(kù) 149
練習(xí)4:導(dǎo)出數(shù)據(jù)到CSV文件 150
5.19 本章小結(jié) 150
第 6 章 Spark Web UI 152
6.1 Web UI概述 152
6.1.1 Web UI的組成 152
6.1.2 Web UI的功能 153
6.1.3 Web UI的使用 153
6.1.4 Web UI的優(yōu)化 153
6.2 啟動(dòng)Web UI 154
6.2.1 Standalone模式 154
6.2.2 YARN模式 154
6.2.3 Kubernetes模式 154
6.2.4 其他集群管理器 155
6.3 Jobs頁(yè)面 155
6.4 Stages頁(yè)面 156
6.5 Storage頁(yè)面 157
6.6 Environment頁(yè)面 158
6.7 Executors頁(yè)面 160
6.8 SQL頁(yè)面 161
6.9 動(dòng)手練習(xí) 162
練習(xí)1:?jiǎn)?dòng)Web UI并訪問(wèn) 162
練習(xí)2:使用Web UI了解集群運(yùn)行狀態(tài) 163
6.10 本章小結(jié) 164
第 7 章 Spark Streaming 165
7.1 Spark Streaming概述 165
7.1.1 數(shù)據(jù)集類型 165
7.1.2 統(tǒng)一數(shù)據(jù)處理 166
7.1.3 Spark Streaming的基本概念 167
7.1.4 Spark Streaming的工作原理 167
7.1.5 Spark Streaming的應(yīng)用場(chǎng)景 168
7.1.6 Spark Streaming的優(yōu)勢(shì)與挑戰(zhàn) 168
7.1.7 使用Spark Streaming的依賴 168
7.2 DStream的transformation操作 169
7.2.1 DStream的常用操作 170
7.2.2 DStream的窗口操作 170
7.3 DStream的輸入 171
7.3.1 輸入源的使用要點(diǎn) 172
7.3.2 基本輸入源 172
7.3.3 高級(jí)輸入源 173
7.3.4 Receiver的可靠性 173
7.3.5 自定義Receiver 173
7.3.6 自定義可靠的Receiver 175
7.4 實(shí)戰(zhàn):DStream無(wú)狀態(tài)的transformation操作 176
7.4.1 創(chuàng)建JavaStreamingContext對(duì)象 176
7.4.2 創(chuàng)建DStream 176
7.4.3 啟動(dòng)計(jì)算 177
7.4.4 單詞發(fā)送服務(wù)器 177
7.4.5 運(yùn)行 179
7.5 實(shí)戰(zhàn):DStream有狀態(tài)的transformation操作 179
7.5.1 滑動(dòng)窗口 179
7.5.2 編寫(xiě)滑動(dòng)窗口示例 181
7.5.3 運(yùn)行 181
7.6 DStream的輸出操作 181
7.6.1 常用的輸出操作 182
7.6.2 foreachRDD設(shè)計(jì)模式 182
7.7 實(shí)戰(zhàn):DStream的輸出操作 183
7.7.1 將DStream輸出到文件 184
7.7.2 運(yùn)行 184
7.8 Spark Streaming使用DataFrame和SQL操作 185
7.9 Spark Streaming檢查點(diǎn) 186
7.9.1 Spark Streaming檢查點(diǎn)概念及原理 186
7.9.2 應(yīng)用場(chǎng)景 187
7.9.3 配置方法 187
7.9.4 優(yōu)化策略 188
7.9.5 總結(jié)與展望 188
7.10 Spark Streaming性能優(yōu)化 188
7.10.1 數(shù)據(jù)接收并行度調(diào)優(yōu) 188
7.10.2 批處理時(shí)間優(yōu)化 189
7.10.3 內(nèi)存管理優(yōu)化 189
7.10.4 容錯(cuò)性優(yōu)化 189
7.10.5 其他優(yōu)化策略 190
7.11 Spark Streaming容錯(cuò)機(jī)制 190
7.11.1 Spark Streaming容錯(cuò)機(jī)制概述 190
7.11.2 基于文件的數(shù)據(jù)源容錯(cuò)機(jī)制 190
7.11.3 基于Receiver的數(shù)據(jù)源容錯(cuò)機(jī)制 191
7.11.4 驅(qū)動(dòng)程序節(jié)點(diǎn)的容錯(cuò)機(jī)制 191
7.12 實(shí)戰(zhàn):Spark Streaming與Kafka集成 192
7.12.1 Spark Streaming集成Kafka 192
7.12.2 自定義生產(chǎn)者 192
7.12.3 構(gòu)造消費(fèi)者 193
7.12.4 啟動(dòng)Kafka服務(wù)器 195
7.12.5 運(yùn)行 196
7.13 動(dòng)手練習(xí) 198
練習(xí)1:DStream無(wú)狀態(tài)的transformation操作 198
練習(xí)2:DStream有狀態(tài)的transformation操作(滑動(dòng)窗口) 199
練習(xí)3:編寫(xiě)一個(gè)Spark Streaming應(yīng)用程序 201
7.14 本章小結(jié) 203
第 8 章 Structured Streaming 204
8.1 Structured Streaming概述 204
8.1.1 基本概念 204
8.1.2 處理事件時(shí)間和延遲數(shù)據(jù) 206
8.1.3 容錯(cuò)語(yǔ)義 207
8.1.4 Spark Streaming與Structured Streaming的比較 207
8.2 創(chuàng)建流式DataFrame/Dataset 208
8.2.1 從輸入源創(chuàng)建DataFrame/Dataset 208
8.2.2 流式DataFrame/Dataset的模式推理與分區(qū) 209
8.3 Structured Streaming操作 210
8.3.1 基本操作 210
8.3.2 窗口操作 211
8.3.3 連接操作 211
8.3.4 不支持的DataFrame/Dataset操作 213
8.4 Structured Streaming統(tǒng)計(jì)來(lái)自Socket數(shù)據(jù)流的詞頻 214
8.4.1 創(chuàng)建SparkSession 214
8.4.2 創(chuàng)建DataFrame 214
8.4.3 執(zhí)行查詢 215
8.4.4 運(yùn)行 215
8.5 實(shí)戰(zhàn):Structured Streaming窗口操作 216
8.5.1 在事件時(shí)間上執(zhí)行窗口操作 216
8.5.2 創(chuàng)建SparkSession 217
8.5.3 創(chuàng)建DataFrame 217
8.5.4 執(zhí)行查詢 218
8.5.5 運(yùn)行 219
8.6 Structured Streaming輸出接收器 220
8.6.1 文件接收器 220
8.6.2 Kafka接收器 220
8.6.3 Foreach接收器 220
8.6.4 Console接收器 220
8.6.5 內(nèi)存接收器 221
8.7 消除重復(fù)數(shù)據(jù) 221
8.7.1 使用唯一身份標(biāo)識(shí)符 221
8.7.2 結(jié)合使用水印 221
8.8 狀態(tài)存儲(chǔ) 222
8.8.1 狀態(tài)存儲(chǔ)與恢復(fù) 222
8.8.2 狀態(tài)分片與讀寫(xiě) 223
8.8.3 版本管理 223
8.8.4 狀態(tài)存儲(chǔ)的實(shí)現(xiàn) 223
8.9 啟動(dòng)流式查詢 225
8.9.1 流式查詢的參數(shù) 225
8.9.2 foreach和foreachBatch 226
8.9.3 流式表API 228
8.9.4 觸發(fā)器 228
8.9.5 管理流式查詢 230
8.10 異步進(jìn)度跟蹤 231
8.10.1 異步進(jìn)度跟蹤的概念與重要性 231
8.10.2 異步進(jìn)度跟蹤的實(shí)現(xiàn)機(jī)制 232
8.10.3 使用示例 232
8.10.4 使用限制 233
8.11 連續(xù)處理 233
8.11.1 啟用連續(xù)處理 233
8.11.2 連續(xù)處理與微批處理的比較 234
8.12 實(shí)戰(zhàn):Structured Streaming與Kafka集成 235
8.12.1 Structured Streaming集成Kafka 235
8.12.2 構(gòu)造消費(fèi)者 236
8.12.3 運(yùn)行 237
8.13 動(dòng)手練習(xí) 239
練習(xí)1:使用Structured Streaming統(tǒng)計(jì)來(lái)自Socket數(shù)據(jù)流的詞頻 239
練習(xí)2:使用Structured Streaming進(jìn)行窗口操作 240
練習(xí)3:使用Structured Streaming與Kafka集成 241
8.14 本章小結(jié) 243
第 9 章 MLlib 244
9.1 MLlib概述 244
9.1.1 功能簡(jiǎn)介 244
9.1.2 重要算法 245
9.1.3 應(yīng)用狀況 245
9.2 機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí) 246
9.2.1 機(jī)器學(xué)習(xí)的定義 246
9.2.2 機(jī)器學(xué)習(xí)的分類 246
9.2.3 機(jī)器學(xué)習(xí)的基本流程 247
9.2.4 常見(jiàn)的機(jī)器學(xué)習(xí)算法 247
9.3 MLlib的RDD API和DataFrame API 247
9.4 MLlib流水線 248
9.4.1 MLlib流水線的核心概念 248
9.4.2 Pipeline 248
9.5 實(shí)戰(zhàn):MLlib的Estimator例子 250
9.5.1 使用MLlib依賴 250
9.5.2 創(chuàng)建SparkSession 250
9.5.3 創(chuàng)建DataFrame 250
9.5.4 使用Estimator 251
9.5.5 運(yùn)行 252
9.6 實(shí)戰(zhàn):MLlib的Transformer例子 253
9.6.1 創(chuàng)建DataFrame 253
9.6.2 使用Transformer 253
9.6.3 運(yùn)行 254
9.7 實(shí)戰(zhàn):MLlib的Pipeline例子 254
9.7.1 準(zhǔn)備JavaBean 254
9.7.2 準(zhǔn)備訓(xùn)練數(shù)據(jù) 255
9.7.3 配置Pipeline 256
9.7.4 學(xué)習(xí)PipelineModel 256
9.7.5 運(yùn)行 257
9.8 動(dòng)手練習(xí) 257
練習(xí)1:使用Spark MLlib中的Estimator進(jìn)行線性回歸模型的訓(xùn)練 257
練習(xí)2:使用Spark MLlib中的Transformer進(jìn)行特征轉(zhuǎn)換 259
練習(xí)3:使用Spark MLlib中的Pipeline進(jìn)行特征轉(zhuǎn)換和模型訓(xùn)練 261
9.9 本章小結(jié) 263
第 10 章 GraphX 264
10.1 GraphX概述 264
10.1.1 GraphX的核心概念 264
10.1.2 GraphX的主要功能 265
10.1.3 GraphX的實(shí)現(xiàn)原理 265
10.1.4 GraphX的應(yīng)用場(chǎng)景 265
10.2 屬性圖 266
10.2.1 屬性圖的基本結(jié)構(gòu) 266
10.2.2 屬性圖的存儲(chǔ)與處理 266
10.2.3 屬性圖的圖計(jì)算功能 267
10.2.4 屬性圖的優(yōu)化 267
10.3 實(shí)戰(zhàn):GraphX從邊構(gòu)建圖 268
10.3.1 初始化JavaSparkContext 268
10.3.2 初始化Edge 268
10.3.3 初始化Graph 269
10.3.4 輸出Graph的內(nèi)容 269
10.3.5 運(yùn)行 269
10.4 GraphX分區(qū)優(yōu)化 270
10.5 動(dòng)手練習(xí) 271
練習(xí):使用GraphX庫(kù) 271
10.6 本章小結(jié) 272
參考文獻(xiàn) 274
循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開(kāi)發(fā) 作者簡(jiǎn)介
柳偉衛(wèi),網(wǎng)名老衛(wèi)、waylau,在IT公司擔(dān)任過(guò)項(xiàng)目經(jīng)理、架構(gòu)師、高級(jí)技術(shù)顧問(wèn)等職位,擁有十余年開(kāi)發(fā)經(jīng)驗(yàn),具有豐富的軟件開(kāi)發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。主導(dǎo)過(guò)多個(gè)省、國(guó)家級(jí)大型分布式系統(tǒng)的設(shè)計(jì)與研發(fā),參與過(guò)面向全球的供應(yīng)鏈系統(tǒng)服務(wù)化改造。在實(shí)際工作中,積累了大量的分布式系統(tǒng)、微 服務(wù)架構(gòu)以及性能調(diào)優(yōu)經(jīng)驗(yàn)。業(yè)余時(shí)間創(chuàng)建了 waylau.com 網(wǎng)站,用于分享個(gè)人技術(shù)心得。喜歡開(kāi)源,長(zhǎng)期躍于各大開(kāi)源社區(qū),編著了《跟老衛(wèi)學(xué)HarmonyOS開(kāi)發(fā)》《Netty 實(shí)戰(zhàn)(精髓)》等近30余本開(kāi)源技術(shù)教程(見(jiàn) https://waylau.com/books/),廣受網(wǎng)友好評(píng),是 CSDN、 開(kāi)源中國(guó)、阿里云開(kāi)發(fā)者、華為開(kāi)發(fā)者等技術(shù)社區(qū)專家,慕課網(wǎng)、華為開(kāi)發(fā)者聯(lián)盟社區(qū)認(rèn)證講師。已出版包括《HarmonyOS應(yīng)用開(kāi)發(fā)入門(mén)》《分布式系統(tǒng)常用技術(shù)及案例分析》《Java核心編程》《輕量級(jí)Java EE企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)》《Node.js Express MongoDB Vue.js全棧開(kāi)發(fā)實(shí)戰(zhàn)》《Netty原理解析與開(kāi)發(fā)實(shí)戰(zhàn)》等在內(nèi)的幾十本專著。
- >
隨園食單
- >
巴金-再思錄
- >
詩(shī)經(jīng)-先民的歌唱
- >
莉莉和章魚(yú)
- >
唐代進(jìn)士錄
- >
經(jīng)典常談
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
我從未如此眷戀人間