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

Spark SQL內(nèi)核剖析

Spark SQL內(nèi)核剖析

定 價(jià):¥69.00

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

ISBN: 9787121343148 出版時(shí)間: 2018-08-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 268 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

第 1 章 Spark SQL 背景
1.1 大數(shù)據(jù)與 Spark 系統(tǒng)
1.2 關(guān)系模型與 SQL 語(yǔ)言
1.3 Spark SQL 發(fā)展歷程
1.4 本章小結(jié)
第 2 章 Spark 基礎(chǔ)知識(shí)介紹
2.1 RDD 編程模型
2.2 DataFrame 與 Dataset
2.3 本章小結(jié)
第 3 章 Spark SQL 執(zhí)行全過(guò)程概述
3.1 從 SQL 到 RDD:一個(gè)簡(jiǎn)單的案例
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 簡(jiǎn)介
4.1.1 基于 ANTLR 4 的計(jì)算器
4.1.2 訪問(wèn)者模式
4.2 SparkSqlParser 之 AstBuilder
4.3 常見 SQL 生成的抽象語(yǔ)法樹概覽
4.4 本章小結(jié)
第 5 章 Spark SQL 邏輯計(jì)劃(LogicalPlan)
5.1 Spark SQL 邏輯計(jì)劃概述
5.2 LogicalPlan 簡(jiǎn)介
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 機(jī)制:Unresolved LogicalPlan 生成
5.4 Analyzer 機(jī)制:Analyzed LogicalPlan 生成
5.4.1 Catalog 體系分析
5.4.2 Rule 體系
5.4.3 Analyzed LogicalPlan 生成過(guò)程
5.5 Spark SQL 優(yōu)化器 Optimizer
5.5.1 Optimizer 概述
5.5.2 Optimizer 規(guī)則體系
5.5.3 Optimized LogicalPlan 的生成過(guò)程
5.6 本章小結(jié)
第 6 章 Spark SQL 物理計(jì)劃(PhysicalPlan)
6.1 Spark SQL 物理計(jì)劃概述
6.2 SparkPlan 簡(jiǎn)介
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 物理計(jì)劃 Strategy 體系
6.5.2 常見 Strategy 分析
6.6 執(zhí)行前的準(zhǔn)備
6.6.1 PlanSubqueries 規(guī)則
6.6.2 EnsureRequirements 規(guī)則
6.7 本章小結(jié)
第 7 章 Spark SQL 之 Aggregation 實(shí)現(xiàn)
7.1 Aggregation 執(zhí)行概述
7.1.1 文法定義
7.1.2 聚合語(yǔ)句 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ù)定義與簡(jiǎn)介
7.4.2 窗口函數(shù)相關(guān)表達(dá)式
7.4.3 窗口函數(shù)的邏輯計(jì)劃階段與物理計(jì)劃階段
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 實(shí)現(xiàn)
8.1 Join 查詢概述
8.2 文法定義與抽象語(yǔ)法樹
8.3 Join 查詢邏輯計(jì)劃
8.3.1 從 AST 到 Unresolved LogicalPlan
8.3.2 從 Unresolve LogicalPlan 到 Analyzed LogicalPlan
8.3.3 從 Analyzed LogicalPlan 到 Optimized LogicalPlan
8.4 Join 查詢物理計(jì)劃
8.4.1 Join 物理計(jì)劃的生成
8.4.2 Join 物理計(jì)劃的選取
8.5 Join 查詢執(zhí)行
8.5.1 Join 執(zhí)行基本框架
8.5.2 BroadcastJoinExec 執(zhí)行機(jī)制
8.5.3 ShuffledHashJoinExec 執(zhí)行機(jī)制
8.5.4 SortMergeJoinExec 執(zhí)行機(jī)制
8.6 本章小結(jié)
第 9 章 Tungsten 技術(shù)實(shí)現(xiàn)
9.1 內(nèi)存管理與二進(jìn)制處理
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 緩存敏感計(jì)算(Cache-aware computation)
9.3 動(dòng)態(tài)代碼生成(Code generation)
9.3.1 漫談代碼生成
9.3.2 Janino 編譯器實(shí)踐
9.3.3 基本(表達(dá)式)代碼生成
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 管理機(jī)制
10.5 Spark Thrift Server 實(shí)現(xiàn)
10.5.1 Service 體系
10.5.2 Operation 與 OperationManager
10.5.3 Session 與 SessionManager
10.5.4 Authentication 安全認(rèn)證管理
10.5.5 Spark Thrift Server 執(zhí)行流程
10.6 本章小結(jié)
第 11 章 Spark SQL 開發(fā)與實(shí)踐
11.1 騰訊大數(shù)據(jù)平臺(tái)(TDW)簡(jiǎn)介
11.2 騰訊大數(shù)據(jù)平臺(tái) 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ù)運(yùn)行支撐框架
11.3.2 新功能開發(fā)案例
11.3.3 性能優(yōu)化開發(fā)案例
11.4 業(yè)務(wù)實(shí)踐經(jīng)驗(yàn)與教訓(xùn)
11.4.1 Spark SQL 集群管理的經(jīng)驗(yàn)
11.4.2 Spark SQL 業(yè)務(wù)層面調(diào)優(yōu)
11.4.3 SQL 寫法的“陷阱”
11.5 本章小結(jié)
總結(jié)
參考文獻(xiàn)

本目錄推薦

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