Spark SQL入門與實踐指南 版權信息
- ISBN:9787302496700
- 條形碼:9787302496700 ; 978-7-302-49670-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Spark SQL入門與實踐指南 本書特色
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程序開發人員,也適合高校和培訓學校相關專業的師生教學參考。
Spark SQL入門與實踐指南 內容簡介
(1)講解Spark SQL背景知識、編程基礎(2)通過一個工程實例讓讀者領略Spark SQL強大簡便的分析能力(3)學習構建一個大數據實際應用的方法,加強工程思維(4)洞悉Spark的調優方式及其思想,讓Spark SQL程序高效運行
Spark SQL入門與實踐指南 目錄
目 錄
**部分 入門篇
第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
鍵值對RDD 52
3.6.4
不同類型RDD之間的轉換 56
3.7 深入理解RDD 57
3.8
RDD 緩存、持久化 59
3.8.1
RDD緩存 59
3.8.2
RDD持久化 61
3.8.3
持久化存儲等級選取策略 63
3.9
RDD checkpoint容錯機制 64
第4章 Spark SQL編程入門 66
4.1
Spark SQL概述 66
4.1.1
Spark SQL是什么 66
4.1.2
Spark SQL通過什么來實現 66
4.1.3
Spark SQL 處理數據的優勢 67
4.1.4
Spark SQL數據核心抽象——DataFrame 67
4.2 Spark
SQL編程入門示例 69
4.2.1
程序主入口:SparkSession 69
4.2.2
創建 DataFrame 70
4.2.3
DataFrame基本操作 70
4.2.4
執行SQL查詢 72
4.2.5
全局臨時表 73
4.2.6
Dataset 73
4.2.7
將RDDs轉化為DataFrame 75
4.2.8
用戶自定義函數 78
第5章 Spark SQL的DataFrame操作大全 82
5.1 由JSON文件生成所需的DataFrame對象 82
5.2
DataFrame上的行動操作 84
5.3
DataFrame上的轉化操作 91
5.3.1
where條件相關 92
5.3.2
查詢指定列 94
5.3.3
思維開拓:Column的巧妙應用 99
5.3.4
limit操作 102
5.3.5
排序操作:order by和sort 103
5.3.6
group by操作 106
5.3.7
distinct、dropDuplicates去重操作 107
5.3.8
聚合操作 109
5.3.9
union合并操作 110
5.3.10
join操作 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章 Spark SQL支持的多種數據源 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.6
bucket、排序、分區操作 124
6.2 典型結構化數據源 125
6.2.1
Parquet 文件 125
6.2.2
JSON 數據集 129
6.2.3
Hive表 130
6.2.4
其他數據庫中的數據表 133
第三部分 實踐篇
第7章 Spark SQL 工程實戰之基于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章 **個Spark SQL應用程序 145
8.1 完全分布式環境搭建 145
8.1.1
Java 環境配置 145
8.1.2
Hadoop 安裝配置 146
8.1.3
Spark安裝配置 149
8.2 數據清洗 150
8.3 數據處理流程 153
8.4 Spark程序遠程調試 164
8.4.1
導出jar包 164
8.4.2
IDEA配置 168
8.4.3
服務端配置 170
8.5
Spark的Web界面 171
8.6 本章小結 172
第四部分 優化篇
第9章 讓Spark程序再快一點 175
9.1
Spark執行流程 175
9.2
Spark內存簡介 176
9.3
Spark的一些概念 177
9.4
Spark編程四大守則 178
9.5
Spark調優七式 183
9.6 解決數據傾斜問題 192
9.7
Spark 執行引擎 Tungsten 簡介 195
9.8
Spark SQL解析引擎Catalyst 簡介 197
9.9 本章小結 200
展開全部
Spark SQL入門與實踐指南 作者簡介
紀 涵,數據挖掘、云計算愛好者,曾負責多個中小型網站的開發維護工作,曾參與開發設計多款面向校園服務的App,參與開發設計過多個基于Hadoop、Spark平臺的大數據應用,有著豐富的流數據、結構化數據處理經驗,現主要研究方向為機器學習、數據挖掘。