Spark編程基礎 (Scala版 第2版)(附微課視頻)
林子雨 賴永炫 陶繼平
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書以Scala作為開發Spark應用程序的編程語言,系統地介紹了Spark編程的基礎知識。全書共9章,內容包括大數據技術概述、Scala語言基礎、Spark的設計與運行原理、Spark環境搭建和使用方法、RDD編程、Spark SQL、Spark Streaming、Structured Streaming和Spark MLlib。
本書每章都安排了入門級的編程實踐操作,以便使讀者能更好地學習和更牢固地掌握Spark編程方法。本書配套官網免費提供了全套的在線教學資源,包括講義PPT、習題、源代碼、軟件、數據集、授課視頻、上機實驗指南等。
本書可以作為高等院校電腦、軟件工程、數據科學與大數據技術等專業的進階級大數據課程教材,用於指導Spark編程實踐,也可供相關技術人員參考。
作者簡介
林子雨(1978-),男,博士(畢業於北京大學),國內高校知名大數據教師,廈門大學電腦科學系副教授,廈門大學信息學院實驗教學中心主任,廈門大學數據庫實驗室負責人,中國電腦學會數據庫專委會委員,中國電腦學會信息系統專委會委員,中國高校首個“數字教師”提出者和建設者。廈門大學2013年度、2017年度和2020年度獎教金獲得者,獲評“廈門大學2019年度本科教學示範崗”,入選“2021年高校電腦專業優秀教師獎勵計劃”。2013年開始在廈門大學開設大數據課程,建設了國內高校首個大數據課程公共服務平臺,平臺累計網絡訪問量超過1500萬次,成為全國高校大數據教學知名品牌,並榮獲“2018年福建省教學成果二等獎”和“2018年廈門大學教學成果特等獎”,主持的課程《大數據技術原理與應用》獲評“2018年國家精品在線開放課程”、“2020年國家級線上一流本科課程”和“2021年福建省線上線下混合一流本科課程”,主持的課程《Spark編程基礎》獲評“2020年福建省線上一流本科課程”。
目錄大綱
目 錄
第 1章 大數據技術概述
1.1 大數據的概念與關鍵技術
1.1.1 大數據的概念
1.1.2 大數據關鍵技術
1.2 代表性大數據技術
1.2.1 Hadoop
1.2.2 Spark
1.2.3 Flink
1.2.4 Beam
1.3 編程語言的選擇
1.3.1 不同編程語言簡介
1.3.2 Spark開發語言對比
1.4 在線資源
1.5 本章小結
1.6 習題
實驗1 Linux系統的安裝和常用命令
第 2章 Scala語言基礎
2.1 Scala語言概述
2.1.1 電腦的緣起
2.1.2 編程範式
2.1.3 Scala簡介
2.1.4 Scala的安裝
2.1.5 HelloWorld
2.2 Scala基礎知識
2.2.1 基本數據類型和變量
2.2.2 輸入/輸出
2.2.3 控制結構
2.2.4 數據結構
2.3 面向對象編程基礎
2.3.1 類
2.3.2 對象
2.3.3 繼承
2.3.4 參數化類型
2.3.5 特質
2.3.6 模式匹配
2.3.7 包
2.4 函數式編程基礎
2.4.1 函數的定義與使用
2.4.2 高階函數
2.4.3 閉包
2.4.4 偏應用函數和Curry化
2.4.5 針對容器的操作
2.4.6 函數式編程實例
2.5 本章小結
2.6 習題
實驗2 Scala編程初級實踐
第3章 Spark的設計與運行原理
3.1 概述
3.2 Spark生態系統
3.3 Spark運行架構
3.3.1 基本概念
3.3.2 架構設計
3.3.3 Spark運行基本流程
3.3.4 RDD的設計與運行原理
3.4 Spark的部署方式
3.5 TensorFlowOnSpark
3.6 本章小結
3.7 習題
第4章 Spark環境搭建和使用方法
4.1 安裝Spark
4.1.1 基礎環境
4.1.2 下載安裝文件
4.1.3 配置相關文件
4.1.4 Spark和Hadoop的交互
4.2 在spark-shell中運行代碼
4.2.1 spark-shell命令
4.2.2 啟動spark-shell
4.2.3 Spark UI
4.3 開發Spark獨立應用程序
4.3.1 安裝編譯打包工具
4.3.2 編寫Spark應用程序代碼
4.3.3 編譯打包
4.3.4 通過spark-submit運行程序
4.4 Spark集群環境搭建
4.4.1 集群概況
4.4.2 搭建Hadoop集群
4.4.3 在集群中安裝Spark
4.4.4 配置環境變量
4.4.5 Spark的配置
4.4.6 啟動Spark集群
4.4.7 關閉Spark集群
4.5 在集群上運行Spark應用程序
4.5.1 啟動Spark集群
4.5.2 在集群中運行應用程序JAR包
4.5.3在集群中運行spark-shell
4.6 本章小結
4.7 習題
實驗3 Spark和Hadoop的安裝
第5章 RDD編程
5.1 RDD編程基礎
5.1.1 RDD創建
5.1.2 RDD操作
5.1.3 持久化
5.1.4 分區
5.1.5 一個綜合實例
5.2 鍵值對RDD
5.2.1 鍵值對RDD的創建
5.2.2 常用的鍵值對轉換操作
5.2.3 一個綜合實例
5.3 數據讀寫
5.3.1 本地文件系統的數據讀寫
5.3.2 分佈式文件系統HDFS的數據讀寫
5.3.3 讀寫MySQL數據庫
5.4 綜合實例
5.4.1 求TOP值
5.4.2 文件排序
5.4.3 二次排序
5.5 本章小結
實驗4 RDD編程初級實踐
第6章 Spark SQL
6.1 Spark SQL簡介
6.1.1 從Shark說起
6.1.2 Spark SQL架構
6.1.3 為什麼推出Spark SQL
6.1.4 Spark SQL的特點
6.1.5 Spark SQL簡單編程實例
6.2 結構化數據DataFrame
6.2.1 DataFrame概述
6.2.2 DataFrame的優點
6.3 DataFrame的創建和保存
6.3.1 Parquet
6.3.2 JSON
6.3.3 CSV
6.3.4 文本文件
6.3.5 序列集合
6.4 DataFrame的基本操作
6.4.1 DSL語法風格
6.4.2 SQL語法風格
6.5 從RDD轉換得到DataFrame
6.5.1 利用反射機制推斷RDD模式
6.5.2 使用編程方式定義RDD模式
6.6 使用Spark SQL讀寫數據庫
6.6.1準備工作
6.6.2讀取MySQL數據庫中的數據
6.6.3向MySQL數據庫寫入數據
6.6.4編寫獨立應用程序訪問MySQL
6.7 DataSet
6.7.1 DataFrame、DataSet和RDD的區別
6.7.2創建DataSet
6.7.3 RDD、DataFrame和DataSet之間的相互轉換
6.7.4 詞頻統計實例
6.8 本章小結
6.9 習題
實驗5 Spark SQL編程初級實踐
第7章 Spark Streaming
7.1 流計算概述
7.1.1 靜態數據和流數據
7.1.2 批量計算和實時計算
7.1.3 流計算概念
7.1.4 流計算框架
7.1.5 流計算處理流程
7.2 Spark Streaming
7.2.1 Spark Streaming設計
7.2.2 Spark Streaming與Storm的對比
7.2.3 從“Hadoop+Storm”架構轉向Spark架構
7.3 DStream操作概述
7.3.1 Spark Streaming工作機制
7.3.2 編寫Spark Streaming程序的基本步驟
7.3.3 創建StreamingContext對象
7.4 基本輸入源
7.4.1 文件流
7.4.2 套接字流
7.4.3 RDD隊列流
7.5 高級數據源
7.5.1 Kafka簡介
7.5.2 Kafka準備工作
7.5.3 Spark準備工作
7.5.4 編寫Spark Streaming程序使用Kafka數據源
7.6 轉換操作
7.6.1 DStream無狀態轉換操作
7.6.2 DStream有狀態轉換操作
7.7 輸出操作
7.7.1 把DStream輸出到文本文件中
7.7.2 把DStream寫入到關系數據庫中
7.8 本章小結
7.9 習題
實驗6 Spark Streaming編程初級實踐
第8章 Structured Streaming
8.1概述
8.1.1 Spark Streaming的不足之處
8.1.2 Structured Streaming的設計理念
8.1.3 Structured Streaming的處理模型
8.1.4 Structured Streaming和Spark SQL、Spark Streaming關系
8.1.5 Structured Streaming與其他流處理技術的對比
8.2編寫Structured Streaming程序的基本步驟
8.2.1實現步驟
8.2.2測試運行
8.3輸入源
8.3.1File源
8.3.2Kafka源
8.3.3Socket源
8.3.4Rate源
8.4輸出操作
8.4.1啟動流計算
8.4.2輸出模式
8.4.3輸出接收器
8.5容錯處理
8.5.1從檢查點恢復故障
8.5.2故障恢復中的限制
8.6遲到數據處理
8.6.1事件時間
8.6.2遲到數據
8.6.3水印
8.6.4多水印規則
8.6.5處理遲到數據的例子
8.7查詢的管理和監控
8.7.1管理和監控的方法
8.7.2一個監控的實例
8.8本章小結
8.9習題
實驗7 Structured Streaming初級編程實踐
第9章 Spark MLlib
9.1 基於大數據的機器學習
9.2 機器學習庫MLlib概述
9.3 基本數據類型
9.3.1 本地向量
9.3.2 標註點
9.3.3 本地矩陣
9.3.4 數據源
9.4 基本統計工具
9.4.1 相關性
9.4.2 假設檢驗
9.4.3 匯總統計
9.5 機器學習流水線
9.5.1 流水線的概念
9.5.2 流水線工作過程
9.6 特徵提取、轉換和選擇
9.6.1 特徵提取
9.6.2 特徵轉換
9.6.3 特徵選擇
9.6.4 局部敏感哈希
9.7 分類算法
9.7.1 邏輯斯蒂回歸分類器
9.7.2 決策樹分類器
9.8 聚類算法
9.8.1 K-Means聚類算法
9.8.2 GMM聚類算法
9.9 頻繁模式挖掘算法
9.9.1 FP-Growth算法
9.9.2 PrefixSpan算法
9.10 協同過濾算法
9.10.1 推薦算法的原理
9.10.2 ALS算法
9.11 模型選擇和超參數調整
9.11.1 模型選擇工具
9.11.2 用交叉驗證選擇模型
9.12 本章小結
9.13 習題
實驗7 Spark機器學習庫MLlib編程實踐


