Spark SQL入門與實踐指南

Spark SQL入門與實踐指南

《Spark SQL入門與實踐指南》是2018年04月1日清華大學出版社出版的圖書,作者是紀涵、靖曉文、趙政達,主要講述了開發人員創建和運行Spark程式的方法技巧。

基本介紹

  • 中文名:Spark SQL入門與實踐指南
  • 作者:紀涵、靖曉文、趙政達
  • 出版社:清華大學出版社
  • 出版時間:2018年04月01日
  • 定價:49 元
  • ISBN:9787302496700
內容簡介,圖書作者,圖書目 錄,

內容簡介

Spark SQL是 Spark大數據框架的一部分,支持使用標準SQL查詢和HiveQL來讀寫數據,可用於結構化數據處理,並可以執行類似SQL的Spark數據查詢,有助於開發人員更快地創建和運行Spark程式。 全書分為4篇,共9章,第一篇講解了Spark SQL 發展歷史和開發環境搭建。第二篇講解了Spark SQL 實例,使得讀者掌握Spark SQL的入門操作,了解Spark RDD、DataFrame和DataSet,並熟悉 DataFrame 各種操作。第三篇講解了基於WiFi探針的商業大數據分析項目,實例中包含數據採集、預處理、存儲、利用Spark SQL 挖掘數據,一步一步帶領讀者學習Spark SQL強大的數據挖掘功能。第四篇講解了Spark SQL 最佳化的知識。 本書適合Spark初學者、Spark數據分析人員以及Spark程式開發人員,也適合高校和培訓學校相關專業的師生教學參考。

圖書作者

紀 涵,數據挖掘、雲計算愛好者,曾負責多箇中小型網站的開發維護工作,曾參與開發設計多款面向校園服務的App,參與開發設計過多個基於Hadoop、Spark平台的大數據套用,有著豐富的流數據、結構化數據處理經驗,現主要研究方向為機器學習、數據挖掘。

圖書目 錄

第一部分 入門篇
第1章 初識Spark SQL 3
1.1 Spark SQL的前世今生 3
1.2 Spark SQL能做什麼 4
第2章 Spark安裝、編程環境搭建以及打包提交 6
2.1 Spark的簡易安裝 6
2.2 準備編寫Spark應用程式的IDEA環境 10
2.3 將編寫好的Spark應用程式打包成jar提交到Spark上 18
第二部分 基礎篇
第3章 Spark上的RDD編程 23
3.1 RDD基礎 24
3.1.1 創建RDD 24
3.1.2 RDD轉化操作、行動操作 24
3.1.3 惰性求值 25
3.1.4 RDD快取概述 26
3.1.5 RDD基本編程步驟 26
3.2 RDD簡單實例—wordcount 27
3.3 創建RDD 28
3.3.1 程式內部數據作為數據源 28
3.3.2 外部數據源 29
3.4 RDD操作 33
3.4.1 轉化操作 34
3.4.2 行動操作 37
3.4.3 惰性求值 38
3.5 向Spark傳遞函式 39
3.5.1 傳入匿名函式 39
3.5.2 傳入靜態方法和傳入方法的引用 40
3.5.3 閉包的理解 41
3.5.4 關於向Spark傳遞函式與閉包的總結 42
3.6 常見的轉化操作和行動操作 42
3.6.1 基本RDD轉化操作 43
3.6.2 基本RDD行動操作 48
3.6.3鍵值對RDD52
3.6.4不同類型RDD之間的轉換56
3.7深入理解RDD57
3.8RDD快取、持久化59
3.8.1RDD快取59
3.8.2RDD持久化61
3.8.3持久化存儲等級選取策略63
3.9RDDcheckpoint容錯機制64
第4章SparkSQL編程入門66
4.1SparkSQL概述66
4.1.1SparkSQL是什麼66
4.1.2SparkSQL通過什麼來實現66
4.1.3SparkSQL處理數據的優勢67
4.1.4SparkSQL數據核心抽象——DataFrame67
4.2SparkSQL編程入門示例69
4.2.1程式主入口:SparkSession69
4.2.2創建DataFrame70
4.2.3DataFrame基本操作70
4.2.4執行SQL查詢72
4.2.5全局臨時表73
4.2.6Dataset73
4.2.7將RDDs轉化為DataFrame75
4.2.8用戶自定義函式78
第5章SparkSQL的DataFrame操作大全82
5.1由JSON檔案生成所需的DataFrame對象82
5.2DataFrame上的行動操作84
5.3DataFrame上的轉化操作91
5.3.1where條件相關92
5.3.2查詢指定列94
5.3.3思維開拓:Column的巧妙套用99
5.3.4limit操作102
5.3.5排序操作:orderby和sort103
5.3.6groupby操作106
5.3.7distinct、dropDuplicates去重操作107
5.3.8聚合操作109
5.3.9union合併操作110
5.3.10join操作111
5.3.11獲取指定欄位統計信息114
5.3.12獲取兩個DataFrame中共有的記錄116
5.3.13獲取一個DataFrame中有另一個DataFrame中沒有的記錄116
5.3.14操作欄位名117
5.3.15處理空值列118
第6章SparkSQL支持的多種數據源121
6.1概述121
6.1.1通用load/save函式121
6.1.2手動指定選項123
6.1.3在檔案上直接進行SQL查詢123
6.1.4存儲模式123
6.1.5持久化到表124
6.1.6bucket、排序、分區操作124
6.2典型結構化數據源125
6.2.1Parquet檔案125
6.2.2JSON數據集129
6.2.3Hive表130
6.2.4其他資料庫中的數據表133
第三部分實踐篇
第7章SparkSQL工程實戰之基於WiFi探針的商業大數據分析技術139
7.1功能需求139
7.1.1數據收集139
7.1.2數據清洗140
7.1.3客流數據分析141
7.1.4數據導出142
7.2系統架構142
7.3功能設計143
7.4資料庫結構144
7.5本章小結144
第8章第一個SparkSQL應用程式145
8.1完全分散式環境搭建145
8.1.1Java環境配置145
8.1.2Hadoop安裝配置146
8.1.3Spark安裝配置149
8.2數據清洗150
8.3數據處理流程153
8.4Spark程式遠程調試164
8.4.1導出jar包164
8.4.2IDEA配置168
8.4.3服務端配置170
8.5Spark的Web界面171
8.6本章小結172
第四部分最佳化篇
第9章讓Spark程式再快一點175
9.1Spark執行流程175
9.2Spark記憶體簡介176
9.3Spark的一些概念177
9.4Spark編程四大守則178
9.5Spark調優七式183
9.6解決數據傾斜問題192
9.7Spark執行引擎Tungsten簡介195
9.8SparkSQL解析引擎Catalyst簡介197
9.9本章小結200

熱門詞條

聯絡我們