YL13848 9787111591979 9787302496700
Spark SQL是Spark生態環境中核心和基礎的組件,是掌握Spark的關鍵所在。本書從企業級開發的角度齣發,結閤多個企業級應用案例,深入剖析Spark SQL。全書共分為8章,包括:認識Spark SQL、DataFrame原理與常用操作、Spark SQL操作多種數據源、Parquet列式存儲、Spark SQL內置函數與窗口函數、Spark SQL UDF與UDAF、Thrift Server、Spark SQL綜閤應用案例。
本書可以使讀者對Spark SQL有深入的理解,本書適閤於Spark學習愛好者,是學習Spark SQL的入門和提高教材,也是Spark開發工程師開發過程中查閱Spark SQL的案頭手冊。
前言
第1章認識Spark SQL
1.1Spark SQL概述
1.1.1Spark SQL與DataFrame
1.1.2DataFrame與RDD的差異
1.1.3Spark SQL的發展曆程
1.2從零起步掌握Hive
1.2.1Hive的本質是什麼
1.2.2Hive安裝和配置
1.2.3使用Hive分析搜索數據
1.3Spark SQL on Hive安裝與配置
1.3.1安裝Spark SQL
1.3.2安裝MySQL
1.3.3啓動Hive Metastore
1.4Spark SQL初試
1.4.1通過spark-shell來使用Spark SQL
1.4.2Spark SQL的命令終端
1.4.3Spark的Web UI
1.5本章小結
第2章DataFrame原理與常用操作
2.1DataFrame編程模型
2.2DataFrame基本操作實戰
2.2.1數據準備
2.2.2啓動交互式界麵
2.2.3數據處理與分析
2.3通過RDD來構建DataFrame
2.4緩存錶(列式存儲)
2.5DataFrame API應用示例
2.6本章小結
第3章Spark SQL 操作多種數據源
3.1通用的加載/保存功能
3.1.1Spark SQL加載數據
3.1.2Spark SQL保存數據
3.1.3綜閤案例——電商熱銷商品排名
3.2Spark SQL操作Hive示例
3.3Spark SQL操作JSON數據集示例
3.4Spark SQL操作HBase示例
3.5Spark SQL操作MySQL示例
3.5.1安裝並啓動MySQL
3.5.2準備數據錶
3.5.3操作MySQL錶
3.6Spark SQL操作MongoDB示例
3.6.1安裝配置MongoDB
3.6.2啓動MongoDB
3.6.3準備數據
3.6.4Spark SQL操作MongoDB
3.7本章小結
第4章Parquet列式存儲
4.1Parquet概述
4.1.1Parquet的基本概念
4.1.2Parquet數據列式存儲格式應用舉例
4.2Parquet的Block配置及數據分片
4.2.1Parquet的Block的配置
4.2.2Parquet 內部的數據分片
4.3Parquet序列化
4.3.1Spark實施序列化的目的
4.3.2Parquet兩種序列化方式
4.4本章小結
第5章Spark SQL內置函數與窗口函數
5.1Spark SQL內置函數
5.1.1Spark SQL內置函數概述
5.1.2Spark SQL內置函數應用實例
5.2Spark SQL窗口函數
5.2.1Spark SQL窗口函數概述
5.2.2Spark SQL窗口函數分數查詢統計案例
5.2.3Spark SQL窗口函數NBA常規賽數據統計案例
5.3本章小結
第6章Spark SQL UDF與UDAF
6.1UDF概述
6.2UDF示例
6.2.1Hobby_count函數
6.2.2Combine函數
6.2.3Str2Int函數
6.2.4Wsternstate函數
6.2.5ManyCustomers函數
6.2.6StateRegion函數
6.2.7DiscountRatio函數
6.2.8MakeStruct函數
6.2.9MyDateFilter函數
6.2.10MakeDT函數
6.3UDAF概述
6.4UDAF示例
6.4.1ScalaAggregateFunction函數
6.4.2GeometricMean函數
6.4.3CustomMean函數
6.4.4BelowThreshold函數
6.4.5YearCompare函數
6.4.6WordCount函數
6.5本章小結
第7章Thrift Server
7.1Thrift概述
7.1.1Thrift的基本概念
7.1.2Thrift的工作機製
7.1.3Thrift的運行機製
7.1.4一個簡單的Thrift 實例
7.2Thrift Server的啓動過程
7.2.1Thrift Sever啓動詳解
7.2.2HiveThriftServer2類的解析
7.3Beeline操作
7.3.1Beeline連接方式
7.3.2在Beeline中進行SQL查詢操作
7.3.3通過Web控製颱查看用戶進行的操作
7.4Thrift Server應用示例
7.4.1示例源代碼
7.4.2關鍵代碼行解析
7.4.3測試運行
7.4.4運行結果解析
7.4.5Spark Web控製颱查看運行日誌
7.5本章小結
第8章Spark SQL綜閤應用案例
8.1綜閤案例實戰——電商網站日誌多維度數據分析
8.1.1數據準備
8.1.2數據說明
8.1.3數據創建
8.1.4數據導入
8.1.5數據測試和處理
8.2綜閤案例實戰——電商網站搜索排名統計
8.2.1案例概述
8.2.2數據準備
8.2.3實現用戶每天搜索前3名的商品排名統計
8.3本章小結
第一部分 入門篇
第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
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有