注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫Spark SQL內(nèi)核剖析

Spark SQL內(nèi)核剖析

Spark SQL內(nèi)核剖析

定 價:¥69.00

作 者: 朱鋒 張韶全 黃明 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121343148 出版時間: 2018-08-01 包裝: 平裝
開本: 16開 頁數(shù): 268 字數(shù):  

內(nèi)容簡介

  Spark SQL 是 Spark 技術(shù)體系中較有影響力的應(yīng)用(Killer application),也是 SQL-on-Hadoop 解決方案 中舉足輕重的產(chǎn)品。《Spark SQL內(nèi)核剖析》由 11 章構(gòu)成,從源碼層面深入介紹 Spark SQL 內(nèi)部實現(xiàn)機制,以及在實際業(yè)務(wù)場 景中的開發(fā)實踐,其中包括 SQL 編譯實現(xiàn)、邏輯計劃的生成與優(yōu)化、物理計劃的生成與優(yōu)化、Aggregation 算子和 Join 算子的實現(xiàn)與執(zhí)行、Tungsten 優(yōu)化技術(shù)、生產(chǎn)環(huán)境中的一些改造優(yōu)化經(jīng)驗等。 《Spark SQL內(nèi)核剖析》不屬于入門級教程,需要讀者對基本概念有一定的了解。在企業(yè)中任職的系統(tǒng)架構(gòu)師和軟件開發(fā)人員,以及對大數(shù)據(jù)、分布式計算和數(shù)據(jù)庫系統(tǒng)實現(xiàn)感興趣的研究人員,均適合閱讀《Spark SQL內(nèi)核剖析》。

作者簡介

  朱鋒,博士畢業(yè)于中科院軟件所,研究方向為分布式計算與軟件工程。長期關(guān)注數(shù)據(jù)分析、數(shù)據(jù)庫技術(shù)和大數(shù)據(jù)相關(guān)系統(tǒng),并積極參與開源社區(qū)貢獻。2017年加入騰訊,負責Spark SQL相關(guān)平臺的開發(fā)、優(yōu)化和維護工作,在SQL-on-Hadoop方面積累了豐富的經(jīng)驗。 張韶全,香港中文大學博士,博士期間研究方向為系統(tǒng)優(yōu)分布式算法。曾任香港應(yīng)用研究院研究員、聯(lián)想香港研發(fā)中心高級研究員。現(xiàn)任騰訊大數(shù)據(jù)平臺高級研發(fā)工程師,負責騰訊大數(shù)據(jù)SQL平臺的建設(shè)與研發(fā),平臺規(guī)模達到上萬臺服務(wù)器,百萬級別業(yè)務(wù)量,PB級日數(shù)據(jù)計算量,支撐著騰訊全公司的數(shù)據(jù)分析業(yè)務(wù),擁有多年互聯(lián)網(wǎng)公司一線的大數(shù)據(jù)平臺設(shè)計與研發(fā)經(jīng)驗。旨在傳播大數(shù)據(jù)技術(shù)和實踐經(jīng)驗,使其在不同行業(yè)落地生根。 黃明,騰訊T4專家,Spark中國區(qū)早期研究者和布道者之一。

圖書目錄

第 1 章 Spark SQL 背景
1.1 大數(shù)據(jù)與 Spark 系統(tǒng)
1.2 關(guān)系模型與 SQL 語言
1.3 Spark SQL 發(fā)展歷程
1.4 本章小結(jié)
第 2 章 Spark 基礎(chǔ)知識介紹
2.1 RDD 編程模型
2.2 DataFrame 與 Dataset
2.3 本章小結(jié)
第 3 章 Spark SQL 執(zhí)行全過程概述
3.1 從 SQL 到 RDD:一個簡單的案例
3.2 重要概念
3.2.1 InternalRow 體系
3.2.2 TreeNode 體系
3.2.3 Expression 體系
3.3 內(nèi)部數(shù)據(jù)類型系統(tǒng)
3.4 本章小結(jié)
第 4 章 Spark SQL 編譯器 Parser
4.1 DSL 工具之 ANTLR 簡介
4.1.1 基于 ANTLR 4 的計算器
4.1.2 訪問者模式
4.2 SparkSqlParser 之 AstBuilder
4.3 常見 SQL 生成的抽象語法樹概覽
4.4 本章小結(jié)
第 5 章 Spark SQL 邏輯計劃(LogicalPlan)
5.1 Spark SQL 邏輯計劃概述
5.2 LogicalPlan 簡介
5.2.1 QueryPlan 概述
5.2.2 LogicalPlan 基本操作與分類
5.2.3 LeafNode 類型的 LogicalPlan
5.2.4 UnaryNode 類型的 LogicalPlan
5.2.5 BinaryNode 類型的 LogicalPlan
5.2.6 其他類型的 LogicalPlan
5.3 AstBuilder 機制:Unresolved LogicalPlan 生成
5.4 Analyzer 機制:Analyzed LogicalPlan 生成
5.4.1 Catalog 體系分析
5.4.2 Rule 體系
5.4.3 Analyzed LogicalPlan 生成過程
5.5 Spark SQL 優(yōu)化器 Optimizer
5.5.1 Optimizer 概述
5.5.2 Optimizer 規(guī)則體系
5.5.3 Optimized LogicalPlan 的生成過程
5.6 本章小結(jié)
第 6 章 Spark SQL 物理計劃(PhysicalPlan)
6.1 Spark SQL 物理計劃概述
6.2 SparkPlan 簡介
6.2.1 LeafExecNode 類型
6.2.2 UnaryExecNode 類型
6.2.3 BinaryExecNode 類型
6.2.4 其他類型的 SparkPlan
6.3 Metadata 與 Metrics 體系
6.4 Partitioning 與 Ordering 體系
6.4.1 Distribution 與 Partitioning 的概念
6.4.2 SparkPlan 的常用分區(qū)排序操作
6.5 SparkPlan 生成
6.5.1 物理計劃 Strategy 體系
6.5.2 常見 Strategy 分析
6.6 執(zhí)行前的準備
6.6.1 PlanSubqueries 規(guī)則
6.6.2 EnsureRequirements 規(guī)則
6.7 本章小結(jié)
第 7 章 Spark SQL 之 Aggregation 實現(xiàn)
7.1 Aggregation 執(zhí)行概述
7.1.1 文法定義
7.1.2 聚合語句 Unresolved LogicalPlan 生成
7.1.3 從邏輯算子樹到物理算子樹
7.2 聚合函數(shù)(AggregateFunction)
7.2.1 聚合緩沖區(qū)與聚合模式(AggregateMode)
7.2.2 DeclarativeAggregate 聚合函數(shù)
7.2.3 ImperativeAggregate 聚合函數(shù)
7.2.4 TypedImperativeAggregate 聚合函數(shù)
7.3 聚合執(zhí)行
7.3.1 執(zhí)行框架 AggregationIterator
7.3.2 基于排序的聚合算子 SortAggregateExec
7.3.3 基于 Hash 的聚合算子 HashAggregateExec
7.4 窗口(Window)函數(shù)
7.4.1 窗口函數(shù)定義與簡介
7.4.2 窗口函數(shù)相關(guān)表達式
7.4.3 窗口函數(shù)的邏輯計劃階段與物理計劃階段
7.4.4 窗口函數(shù)的執(zhí)行
7.5 多維分析
7.5.1 OLAP 多維分析背景
7.5.2 Spark SQL 多維查詢
7.5.3 多維分析 LogicalPlan 階段
7.5.4 多維分析 PhysicalPlan 與執(zhí)行
7.6 本章小結(jié)
第 8 章 Spark SQL 之 Join 實現(xiàn)
8.1 Join 查詢概述
8.2 文法定義與抽象語法樹
8.3 Join 查詢邏輯計劃
8.3.1 從 AST 到 Unresolved LogicalPlan
8.3.2 從 Unresolve LogicalPlan 到 Analyzed LogicalPlan
8.3.3 從 Analyzed LogicalPlan 到 Optimized LogicalPlan
8.4 Join 查詢物理計劃
8.4.1 Join 物理計劃的生成
8.4.2 Join 物理計劃的選取
8.5 Join 查詢執(zhí)行
8.5.1 Join 執(zhí)行基本框架
8.5.2 BroadcastJoinExec 執(zhí)行機制
8.5.3 ShuffledHashJoinExec 執(zhí)行機制
8.5.4 SortMergeJoinExec 執(zhí)行機制
8.6 本章小結(jié)
第 9 章 Tungsten 技術(shù)實現(xiàn)
9.1 內(nèi)存管理與二進制處理
9.1.1 Spark 內(nèi)存管理基礎(chǔ)
9.1.2 Tungsten 內(nèi)存管理優(yōu)化基礎(chǔ)
9.1.3 Tungsten 內(nèi)存優(yōu)化應(yīng)用
9.2 緩存敏感計算(Cache-aware computation)
9.3 動態(tài)代碼生成(Code generation)
9.3.1 漫談代碼生成
9.3.2 Janino 編譯器實踐
9.3.3 基本(表達式)代碼生成
9.3.4 全階段代碼生成(WholeStageCodegen)
9.4 本章小結(jié)
第 10 章 Spark SQL 連接 Hive
10.1 Spark SQL 連接 Hive 概述
10.2 Hive 相關(guān)的規(guī)則和策略
10.2.1 HiveSessionCatalog 體系
10.2.2 Analyzer 之 Hive-Specific 分析規(guī)則
10.2.3 SparkPlanner 之 Hive-Specific 轉(zhuǎn)換策略
10.2.4 Hive 相關(guān)的任務(wù)執(zhí)行
10.3 Spark SQL 與 Hive 數(shù)據(jù)類型
10.3.1 Hive 數(shù)據(jù)類型與 SerDe 框架
10.3.2 DataTypeToInspector 與 Data Wrapping
10.3.3 InspectorToDataType 與 Data Unwrapping
10.4 Hive UDF 管理機制
10.5 Spark Thrift Server 實現(xiàn)
10.5.1 Service 體系
10.5.2 Operation 與 OperationManager
10.5.3 Session 與 SessionManager
10.5.4 Authentication 安全認證管理
10.5.5 Spark Thrift Server 執(zhí)行流程
10.6 本章小結(jié)
第 11 章 Spark SQL 開發(fā)與實踐
11.1 騰訊大數(shù)據(jù)平臺(TDW)簡介
11.2 騰訊大數(shù)據(jù)平臺 SQL 引擎(TDW-SQL-Engine)
11.2.1 SQL-Engine 背景與演化歷程
11.2.2 SQL-Engine 整體架構(gòu)
11.3 TDW-Spark SQL 開發(fā)與優(yōu)化
11.3.1 業(yè)務(wù)運行支撐框架
11.3.2 新功能開發(fā)案例
11.3.3 性能優(yōu)化開發(fā)案例
11.4 業(yè)務(wù)實踐經(jīng)驗與教訓
11.4.1 Spark SQL 集群管理的經(jīng)驗
11.4.2 Spark SQL 業(yè)務(wù)層面調(diào)優(yōu)
11.4.3 SQL 寫法的“陷阱”
11.5 本章小結(jié)
總結(jié)
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號