Spark SQL內核剖析

Spark SQL內核剖析 pdf epub mobi txt 電子書 下載2025

出版者:電子工業齣版社
作者:硃鋒
出品人:博文視點
頁數:268
译者:
出版時間:2018-8
價格:69.00元
裝幀:平裝
isbn號碼:9787121343148
叢書系列:
圖書標籤:
  • Spark
  • SQL
  • 大數據
  • 計算機
  • 數據庫
  • 數據平颱
  • Scala
  • 編程
  • Spark SQL
  • 大數據
  • SQL
  • 分布式
  • 數據處理
  • 查詢優化
  • 內核剖析
  • 分布式計算
  • 數據倉庫
  • 性能調優
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

Spark SQL 是 Spark 技術體係中較有影響力的應用(Killer application),也是 SQL-on-Hadoop 解決方案 中舉足輕重的産品。《Spark SQL內核剖析》由 11 章構成,從源碼層麵深入介紹 Spark SQL 內部實現機製,以及在實際業務場 景中的開發實踐,其中包括 SQL 編譯實現、邏輯計劃的生成與優化、物理計劃的生成與優化、Aggregation 算子和 Join 算子的實現與執行、Tungsten 優化技術、生産環境中的一些改造優化經驗等。

《Spark SQL內核剖析》不屬於入門級教程,需要讀者對基本概念有一定的瞭解。在企業中任職的係統架構師和軟件開發人員,以及對大數據、分布式計算和數據庫係統實現感興趣的研究人員,均適閤閱讀《Spark SQL內核剖析》。

著者簡介

硃鋒,博士畢業於中科院軟件所,研究方嚮為分布式計算與軟件工程。長期關注數據分析、數據庫技術和大數據相關係統,並積極參與開源社區貢獻。2017年加入騰訊,負責Spark SQL相關平颱的開發、優化和維護工作,在SQL-on-Hadoop方麵積纍瞭豐富的經驗。

張韶全,香港中文大學博士,博士期間研究方嚮為係統最優分布式算法。曾任香港應用研究院研究員、聯想香港研發中心高級研究員。現任騰訊大數據平颱高級研發工程師,負責騰訊大數據SQL平颱的建設與研發,平颱規模達到上萬颱服務器,百萬級彆業務量,PB級日數據計算量,支撐著騰訊全公司的數據分析業務,擁有多年互聯網公司一綫的大數據平颱設計與研發經驗。旨在傳播大數據技術和實踐經驗,使其在不同行業落地生根。

黃明,騰訊T4專傢,Spark中國區早期研究者和布道者之一。

圖書目錄

第 1 章 Spark SQL 背景 1
1.1 大數據與 Spark 係統 1
1.2 關係模型與 SQL 語言 3
1.3 Spark SQL 發展曆程 4
1.4 本章小結 5
第 2 章 Spark 基礎知識介紹 6
2.1 RDD 編程模型 6
2.2 DataFrame 與 Dataset 9
2.3 本章小結 10
第 3 章 Spark SQL 執行全過程概述 11
3.1 從 SQL 到 RDD:一個簡單的案例 11
3.2 重要概念 14
3.2.1 InternalRow 體係 14
3.2.2 TreeNode 體係 15
3.2.3 Expression 體係 17
3.3 內部數據類型係統 20
3.4 本章小結 21
第 4 章 Spark SQL 編譯器 Parser 22
4.1 DSL 工具之 ANTLR 簡介 22
4.1.1 基於 ANTLR 4 的計算器 23
4.1.2 訪問者模式 25
4.2 SparkSqlParser 之 AstBuilder 28
4.3 常見 SQL 生成的抽象語法樹概覽 30
4.4 本章小結 33
第 5 章 Spark SQL 邏輯計劃(LogicalPlan) 34
5.1 Spark SQL 邏輯計劃概述 34
5.2 LogicalPlan 簡介 35
5.2.1 QueryPlan 概述 35
5.2.2 LogicalPlan 基本操作與分類 37
5.2.3 LeafNode 類型的 LogicalPlan 38
5.2.4 UnaryNode 類型的 LogicalPlan 39
5.2.5 BinaryNode 類型的 LogicalPlan 40
5.2.6 其他類型的 LogicalPlan 41
5.3 AstBuilder 機製:Unresolved LogicalPlan 生成 41
5.4 Analyzer 機製:Analyzed LogicalPlan 生成 46
5.4.1 Catalog 體係分析 46
5.4.2 Rule 體係 48
5.4.3 Analyzed LogicalPlan 生成過程 50
5.5 Spark SQL 優化器 Optimizer 56
5.5.1 Optimizer 概述 56
5.5.2 Optimizer 規則體係 57
5.5.3 Optimized LogicalPlan 的生成過程 62
5.6 本章小結 64
第 6 章 Spark SQL 物理計劃(PhysicalPlan) 66
6.1 Spark SQL 物理計劃概述 66
6.2 SparkPlan 簡介 67
6.2.1 LeafExecNode 類型 68
6.2.2 UnaryExecNode 類型 69
6.2.3 BinaryExecNode 類型 70
6.2.4 其他類型的 SparkPlan 70
6.3 Metadata 與 Metrics 體係 71
6.4 Partitioning 與 Ordering 體係 72
6.4.1 Distribution 與 Partitioning 的概念 72
6.4.2 SparkPlan 的常用分區排序操作 76
6.5 SparkPlan 生成 77
6.5.1 物理計劃 Strategy 體係 79
6.5.2 常見 Strategy 分析 81
6.6 執行前的準備 83
6.6.1 PlanSubqueries 規則 84
6.6.2 EnsureRequirements 規則 85
6.7 本章小結 89
第 7 章 Spark SQL 之 Aggregation 實現 90
7.1 Aggregation 執行概述 90
7.1.1 文法定義 90
7.1.2 聚閤語句 Unresolved LogicalPlan 生成 92
7.1.3 從邏輯算子樹到物理算子樹 93
7.2 聚閤函數(AggregateFunction) 97
7.2.1 聚閤緩衝區與聚閤模式(AggregateMode) 97
7.2.2 DeclarativeAggregate 聚閤函數 100
7.2.3 ImperativeAggregate 聚閤函數 101
7.2.4 TypedImperativeAggregate 聚閤函數 101
7.3 聚閤執行 102
7.3.1 執行框架 AggregationIterator 103
7.3.2 基於排序的聚閤算子 SortAggregateExec 104
7.3.3 基於 Hash 的聚閤算子 HashAggregateExec 105
7.4 窗口(Window)函數 108
7.4.1 窗口函數定義與簡介 109
7.4.2 窗口函數相關錶達式 111
7.4.3 窗口函數的邏輯計劃階段與物理計劃階段 113
7.4.4 窗口函數的執行 117
7.5 多維分析 120
7.5.1 OLAP 多維分析背景 120
7.5.2 Spark SQL 多維查詢 121
7.5.3 多維分析 LogicalPlan 階段 123
7.5.4 多維分析 PhysicalPlan 與執行 126
7.6 本章小結 128
第 8 章 Spark SQL 之 Join 實現 129
8.1 Join 查詢概述 129
8.2 文法定義與抽象語法樹 130
8.3 Join 查詢邏輯計劃 133
8.3.1 從 AST 到 Unresolved LogicalPlan 133
8.3.2 從 Unresolve LogicalPlan 到 Analyzed LogicalPlan 136
8.3.3 從 Analyzed LogicalPlan 到 Optimized LogicalPlan 137
8.4 Join 查詢物理計劃 140
8.4.1 Join 物理計劃的生成 140
8.4.2 Join 物理計劃的選取 141
8.5 Join 查詢執行 143
8.5.1 Join 執行基本框架 143
8.5.2 BroadcastJoinExec 執行機製 144
8.5.3 ShuffledHashJoinExec 執行機製 145
8.5.4 SortMergeJoinExec 執行機製 148
8.6 本章小結 155
第 9 章 Tungsten 技術實現 156
9.1 內存管理與二進製處理 156
9.1.1 Spark 內存管理基礎 156
9.1.2 Tungsten 內存管理優化基礎 174
9.1.3 Tungsten 內存優化應用 179
9.2 緩存敏感計算(Cache-aware computation) 185
9.3 動態代碼生成(Code generation) 188
9.3.1 漫談代碼生成 188
9.3.2 Janino 編譯器實踐 190
9.3.3 基本(錶達式)代碼生成 191
9.3.4 全階段代碼生成(WholeStageCodegen) 196
9.4 本章小結 211
第 10 章 Spark SQL 連接 Hive 212
10.1 Spark SQL 連接 Hive 概述 212
10.2 Hive 相關的規則和策略 213
10.2.1 HiveSessionCatalog 體係 213
10.2.2 Analyzer 之 Hive-Specific 分析規則 216
10.2.3 SparkPlanner 之 Hive-Specific 轉換策略 217
10.2.4 Hive 相關的任務執行 218
10.3 Spark SQL 與 Hive 數據類型 219
10.3.1 Hive 數據類型與 SerDe 框架 219
10.3.2 DataTypeToInspector 與 Data Wrapping 220
10.3.3 InspectorToDataType 與 Data Unwrapping 221
10.4 Hive UDF 管理機製 223
10.5 Spark Thrift Server 實現 225
10.5.1 Service 體係 227
10.5.2 Operation 與 OperationManager 228
10.5.3 Session 與 SessionManager 232
10.5.4 Authentication 安全認證管理 234
10.5.5 Spark Thrift Server 執行流程 235
10.6 本章小結 239
第 11 章 Spark SQL 開發與實踐 240
11.1 騰訊大數據平颱(TDW)簡介 240
11.2 騰訊大數據平颱 SQL 引擎(TDW-SQL-Engine) 241
11.2.1 SQL-Engine 背景與演化曆程 241
11.2.2 SQL-Engine 整體架構 242
11.3 TDW-Spark SQL 開發與優化 244
11.3.1 業務運行支撐框架 244
11.3.2 新功能開發案例 248
11.3.3 性能優化開發案例 256
11.4 業務實踐經驗與教訓 261
11.4.1 Spark SQL 集群管理的經驗 261
11.4.2 Spark SQL 業務層麵調優 263
11.4.3 SQL 寫法的“陷阱” 268
11.5 本章小結 271
總結 272
參考文獻 273
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

目前市麵上,專門分析講解Spark SQL的書並不多,包括網上的資料都比較單薄不成係統。該書算是比較係統的介紹Spark SQL的書籍。本書的篇幅不多,不過對於沒有數據庫原理基礎的讀者看起來還是有點費勁的。 先說說該書一些可圈可點之處: 1. 本書的敘述思路還是比較清晰的。 2. 書中代碼不多,比較簡潔。圖例比較多,比較好理解。 不過,也發現瞭一些問題: 1. 該書感覺像是由幾個人分彆撰寫一部分,然後拼在一起的,明顯有些基礎內容是有重疊的。而且,撰寫邏輯和講述方式前後不太一緻。 2. 正如我之前提到的,該書對於沒有數據庫原理的讀者,是不太友好的(前幾章還可以,有先脫離Spark SQL介紹一下ANTLR4,比較好理解)。 3. 在書的最後還介紹瞭騰訊的TDW,感覺完全沒有必要。

评分

看來還得多得多學點知識

评分

有收獲,對 SQL 原理有瞭更深刻的認識

评分

內容不錯,講得很細。語言組織的也不錯。值得推薦。

评分

三星半吧,入門是夠瞭,內容講解還算清楚

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有