書馨卡幫你省薪 2024個(gè)人購書報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請 | 注冊

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā)

出版社:清華大學(xué)出版社出版時(shí)間:2024-11-01
開本: 16開 頁數(shù): 292
中 圖 價(jià):¥66.8(7.5折) 定價(jià)  ¥89.0 登錄后可看到會員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類五星書更多>

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā) 版權(quán)信息

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā) 本書特色

《循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā)》是一本深入淺出的Spark大數(shù)據(jù)開發(fā)實(shí)戰(zhàn)指南,專為希望掌握Apache Spark 3.x技術(shù)棧的開發(fā)者量身定制!堆驖u進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā)》不僅涵蓋了Spark的基礎(chǔ)概念和安裝步驟,更通過豐富的實(shí)戰(zhàn)案例和上機(jī)練習(xí),引導(dǎo)讀者逐步深入理解并掌握Spark的核心組件、集群管理、SQL處理、流式數(shù)據(jù)處理以及機(jī)器學(xué)習(xí)與圖計(jì)算等高級功能。
作者憑借一線開發(fā)經(jīng)驗(yàn),精心編排了10個(gè)章節(jié)的內(nèi)容,確保讀者能夠循序漸進(jìn)地學(xué)習(xí)Spark的各項(xiàng)關(guān)鍵技術(shù)。從*簡單的Spark程序編寫開始,逐步過渡到復(fù)雜的數(shù)據(jù)處理和分析任務(wù),每一章都充滿了實(shí)用價(jià)值和操作指導(dǎo)。
特別值得一提的是,《循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā)》提供了24個(gè)精心設(shè)計(jì)的實(shí)戰(zhàn)案例和26個(gè)上機(jī)練習(xí)題,這些內(nèi)容旨在幫助讀者將理論知識轉(zhuǎn)化為實(shí)踐技能,快速提升解決實(shí)際問題的能力。無論是對于學(xué)生、大數(shù)據(jù)開發(fā)人員還是架構(gòu)師來說,這都是一本不可多得的寶貴資源。

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā) 內(nèi)容簡介

   本書結(jié)合作者一線開發(fā)實(shí)踐,循序漸進(jìn)地介紹了新版Apache Spark 3.x的開發(fā)技術(shù)。全書共10章,第1章和第2章主要介紹Spark的基本概念、安裝,并演示如何編寫*簡單的Spark程序。第3章深入探討了Spark的核心組件RDD。第4章講解了Spark集群管理,幫助讀者理解任務(wù)提交與執(zhí)行的基本原理。第5章介紹了Spark SQL,這是處理結(jié)構(gòu)化數(shù)據(jù)的基礎(chǔ)工具。第6章展示了Spark Web UI,通過界面化的方式了解Spark集群運(yùn)行狀況。第7章和第8章分別介紹了Spark流式數(shù)據(jù)處理框架Spark Streaming和Structured Streaming。第9章和第10章則分別介紹了業(yè)界流行的機(jī)器學(xué)習(xí)和圖計(jì)算處理框架MLlib和GraphX。書中各章節(jié)還提供了豐富的實(shí)戰(zhàn)案例和上機(jī)練習(xí)題,以便讀者在學(xué)習(xí)的同時(shí)進(jìn)行實(shí)際操作,迅速提升動手能力。 

本書技術(shù)先進(jìn),案例豐富,適合對Spark大數(shù)據(jù)應(yīng)用感興趣的學(xué)生、大數(shù)據(jù)開發(fā)人員及架構(gòu)師使用,也可作為培訓(xùn)機(jī)構(gòu)和高校大數(shù)據(jù)課程的教學(xué)用書。

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā) 目錄

第 1 章 Spark概述 1
1.1 Spark簡介 1
1.1.1 誕生與初始階段 1
1.1.2 開源與社區(qū)建設(shè) 2
1.1.3 成為頂級項(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的使用場景 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 通過Docker鏡像安裝 15
2.1.3 驗(yàn)證安裝 17
2.2 通過Shell使用Spark 18
2.2.1 使用Scala的Shell 18
2.2.2 使用其他語言的Shell 19
2.3 實(shí)戰(zhàn):通過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 啟動信息 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 動手練習(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:通過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持久化的存儲級別 54
3.8.4 RDD持久化的使用場景 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 鍵-值對 62
3.13 動手練習(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啟動應(yīng)用 69
4.2.3 主節(jié)點(diǎn)URL 70
4.2.4 從文件加載配置 71
4.3 啟動Spark集群 71
4.3.1 手動啟動集群 72
4.3.2 集群啟動腳本 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集群管理器上啟動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階段級調(diào)度 81
4.8.1 階段級調(diào)度概述 81
4.8.2 注意事項(xiàng) 82
4.9 動手練習(xí) 82
練習(xí)1:提交任務(wù)到Spark集群 82
練習(xí)2:啟動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列存儲格式 108
5.7.1 什么是列存儲格式 108
5.7.2 Parquet文件格式 110
5.8 實(shí)戰(zhàn):Apache Parquet數(shù)據(jù)源的讀取和寫入 111
5.8.1 讀取Parquet文件 111
5.8.2 寫入Parquet文件 112
5.8.3 手動指定選項(xiàng) 113
5.9 實(shí)戰(zhàn):使用JDBC操作數(shù)據(jù)庫 115
5.9.1 引入JDBC驅(qū)動程序 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ù)寫入表 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過濾器 127
5.12.8 列式加密 128
5.12.9 Hive元存儲ORC表轉(zhuǎn)換 128
5.12.10 ORC的常用配置 128
5.13 實(shí)戰(zhàn):Apache ORC文件操作示例 129
5.13.1 寫入ORC文件 129
5.13.2 讀取ORC文件 130
5.14 Apache Hive數(shù)據(jù)倉庫 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 寫入Avro文件 147
5.18 動手練習(xí) 148
練習(xí)1:使用DataFrame創(chuàng)建臨時(shí)視圖 148
練習(xí)2:對Apache Parquet數(shù)據(jù)源進(jìn)行數(shù)據(jù)的讀取和寫入 149
練習(xí)3:使用DataFrame操作數(shù)據(jù)庫 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 啟動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頁面 155
6.4 Stages頁面 156
6.5 Storage頁面 157
6.6 Environment頁面 158
6.7 Executors頁面 160
6.8 SQL頁面 161
6.9 動手練習(xí) 162
練習(xí)1:啟動Web UI并訪問 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)用場景 168
7.1.6 Spark Streaming的優(yōu)勢與挑戰(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 高級輸入源 173
7.3.4 Receiver的可靠性 173
7.3.5 自定義Receiver 173
7.3.6 自定義可靠的Receiver 175
7.4 實(shí)戰(zhàn):DStream無狀態(tài)的transformation操作 176
7.4.1 創(chuàng)建JavaStreamingContext對象 176
7.4.2 創(chuàng)建DStream 176
7.4.3 啟動計(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 滑動窗口 179
7.5.2 編寫滑動窗口示例 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)用場景 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ū)動程序節(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 啟動Kafka服務(wù)器 195
7.12.5 運(yùn)行 196
7.13 動手練習(xí) 198
練習(xí)1:DStream無狀態(tài)的transformation操作 198
練習(xí)2:DStream有狀態(tài)的transformation操作(滑動窗口) 199
練習(xí)3:編寫一個(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ò)語義 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ì)來自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)識符 221
8.7.2 結(jié)合使用水印 221
8.8 狀態(tài)存儲 222
8.8.1 狀態(tài)存儲與恢復(fù) 222
8.8.2 狀態(tài)分片與讀寫 223
8.8.3 版本管理 223
8.8.4 狀態(tài)存儲的實(shí)現(xiàn) 223
8.9 啟動流式查詢 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 動手練習(xí) 239
練習(xí)1:使用Structured Streaming統(tǒng)計(jì)來自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 功能簡介 244
9.1.2 重要算法 245
9.1.3 應(yīng)用狀況 245
9.2 機(jī)器學(xué)習(xí)基礎(chǔ)知識 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 常見的機(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 動手練習(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)用場景 265
10.2 屬性圖 266
10.2.1 屬性圖的基本結(jié)構(gòu) 266
10.2.2 屬性圖的存儲與處理 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 動手練習(xí) 271
練習(xí):使用GraphX庫 271
10.6 本章小結(jié) 272
參考文獻(xiàn) 274
展開全部

循序漸進(jìn)Spark大數(shù)據(jù)應(yīng)用開發(fā) 作者簡介

柳偉衛(wèi),網(wǎng)名老衛(wèi)、waylau,在IT公司擔(dān)任過項(xiàng)目經(jīng)理、架構(gòu)師、高級技術(shù)顧問等職位,擁有十余年開發(fā)經(jīng)驗(yàn),具有豐富的軟件開發(fā)管理及系統(tǒng)架構(gòu)經(jīng)驗(yàn)。主導(dǎo)過多個(gè)省、國家級大型分布式系統(tǒng)的設(shè)計(jì)與研發(fā),參與過面向全球的供應(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ù)心得。喜歡開源,長期躍于各大開源社區(qū),編著了《跟老衛(wèi)學(xué)HarmonyOS開發(fā)》《Netty 實(shí)戰(zhàn)(精髓)》等近30余本開源技術(shù)教程(見 https://waylau.com/books/),廣受網(wǎng)友好評,是 CSDN、 開源中國、阿里云開發(fā)者、華為開發(fā)者等技術(shù)社區(qū)專家,慕課網(wǎng)、華為開發(fā)者聯(lián)盟社區(qū)認(rèn)證講師。已出版包括《HarmonyOS應(yīng)用開發(fā)入門》《分布式系統(tǒng)常用技術(shù)及案例分析》《Java核心編程》《輕量級Java EE企業(yè)應(yīng)用開發(fā)實(shí)戰(zhàn)》《Node.js Express MongoDB Vue.js全棧開發(fā)實(shí)戰(zhàn)》《Netty原理解析與開發(fā)實(shí)戰(zhàn)》等在內(nèi)的幾十本專著。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服