万本电子书0元读

万本电子书0元读

顶部广告

SparkSQL内核剖析电子书

售       价:¥

纸质售价:¥47.60购买纸书

255人正在读 | 1人评论 6.2

作       者:朱锋,张韶全

出  版  社:电子工业出版社

出版时间:2018-08-01

字       数:22.5万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark源社区中*为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实发案例与实践优化经验。<br/>【推荐语】<br/>√ 揭秘Spark SQL内部架构、算法设计与实现原理,从源码实现层面掌握数据库SQL处理与Spark分布式计算模型。 √ 作为SQL-on-Hadoop解决方案的佼佼者,Spark SQL志在取代传统数据仓库,在数据库应用场景中其模块一直备受关注。 √ 腾讯T4专家Spark领军人物黄明领衔,长期从事分布式计算和查询优化方面工作,对Spark SQL有较深研究及大量工程积累。 √ 分享腾讯日均百万SQL总量和数百PB数据处理的一线生产实践,其中披露TDW经验对大数据平台建设和性能优化有重要借鉴意义。 √ 适合要对原生系统行定制化改造或新特性添加的发人员,以及想通过理解系统背后核心知识学习分布式系统和数据库实现等技术的从业者。<br/>【作者】<br/>朱锋,博士毕业于中科院软件所,研究方向为分布式计算与软件工程。长期关注数据分析、数据库技术和大数据相关系统,并积极参与源社区贡献。2017年加腾讯,负责Spark SQL相关平台的发、优化和维护工作,在SQL-on-Hadoop方面积累了丰富的经验。 张韶全,香港中文大学博士,博士期间研究方向为系统优分布式算法。曾任香港应用研究院研究员、联想香港研发中心高级研究员。现任腾讯大数据平台高级研发工程师,负责腾讯大数据SQL平台的建设与研发,平台规模达到上万台服务器,百万级别业务量,PB级日数据计算量,支撑着腾讯全公司的数据分析业务,拥有多年互联网公司一线的大数据平台设计与研发经验。旨在传播大数据技术和实践经验,使其在不同行业落地生根。 黄明,腾讯T4专家,Spark中国区早期研究者和布道者之一。<br/>
目录展开

内容简介

推荐序1

推荐序2

前言

第1章 Spark SQL背景

1.1 大数据与Spark系统

1.2 关系模型与SQL语言

1.3 Spark SQL发展历程

1.4 本章小结

第2章 Spark基础知识介绍

2.1 RDD编程模型

2.2 DataFram e与Dataset

2.3 本章小结

第3章 Spark SQL执行全过程概述

3.1 从SQL到RDD:一个简单的案例

3.2 重要概念

3.2.1 InternalRow体系

3.2.2 TreeNode体系

3.2.3 Exp ression体系

3.3 内部数据类型系统

3.4 本章小结

第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 本章小结

第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 Ru le体系

5.4.3 Analyzed LogicalPlan生成过程

5.5 Spark SQL优化器Op tim izer

5.5.1 Op tim izer概述

5.5.2 Op tim izer规则体系

5.5.3 Op tim ized LogicalPlan的生成过程

5.6 本章小结

第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的常用分区排序操作

6.5 SparkPlan生成

6.5.1 物理计划Strategy体系

6.5.2 常见Strategy分析

6.6 执行前的准备

6.6.1 PlanSubqueries规则

6.6.2 EnsureRequirem ents规则

6.7 本章小结

第7章 Spark SQL之Aggregation实现

7.1 Aggregation执行概述

7.1.1 文法定义

7.1.2 聚合语句Un reso lved LogicalPlan生成

7.1.3 从逻辑算子树到物理算子树

7.2 聚合函数(AggregateFunction)

7.2.1 聚合缓冲区与聚合模式(AggregateMode)

7.2.2 DeclarativeAggregate聚合函数

7.2.3 Im perativeAggregate聚合函数

7.2.4 Typed Im perativeAggregate聚合函数

7.3 聚合执行

7.3.1 执行框架Aggregation Iterator

7.3.2 基于排序的聚合算子SortAggregateExec

7.3.3 基于Hash的聚合算子HashAggregateExec

7.4 窗口(Window)函数

7.4.1 窗口函数定义与简介

7.4.2 窗口函数相关表达式

7.4.3 窗口函数的逻辑计划阶段与物理计划阶段

7.4.4 窗口函数的执行

7.5 多维分析

7.5.1 OLAP多维分析背景

7.5.2 Spark SQL多维查询

7.5.3 多维分析LogicalPlan阶段

7.5.4 多维分析PhysicalPlan与执行

7.6 本章小结

第8章 Spark SQL之Join实现

8.1 Join查询概述

8.2 文法定义与抽象语法树

8.3 Join查询逻辑计划

8.3.1 从AST到Unreso lved LogicalPlan

8.3.2 从Unresolve LogicalPlan到Analyzed LogicalPlan

8.3.3 从Analyzed LogicalPlan到Op tim ized LogicalPlan

8.4 Join查询物理计划

8.4.1 Join物理计划的生成

8.4.2 Join物理计划的选取

8.5 Join查询执行

8.5.1 Join执行基本框架

8.5.2 BroadcastJoinExec执行机制

8.5.3 Shu ffl edHash JoinExec执行机制

8.5.4 SortMergeJoinExec执行机制

8.6 本章小结

第9章 Tungsten技术实现

9.1 内存管理与二进制处理

9.1.1 Spark内存管理基础

9.1.2 Tungsten内存管理优化基础

9.1.3 Tungsten内存优化应用

9.2 缓存敏感计算(Cache-aware com putation)

9.3 动态代码生成(Code generation)

9.3.1 漫谈代码生成

9.3.2 Janino编译器实践

9.3.3 基本(表达式)代码生成

9.3.4 全阶段代码生成(WholeStageCodegen)

9.4 本章小结

第10章 Spark SQL连接Hive

10.1 Spark SQL连接Hive概述

10.2 Hive相关的规则和策略

10.2.1 HiveSessionCatalog体系

10.2.2 Analyzer之Hive-Specifi c分析规则

10.2.3 SparkPlanner之Hive-Specifi c转换策略

10.2.4 Hive相关的任务执行

10.3 Spark SQL与Hive数据类型

10.3.1 Hive数据类型与SerDe框架

10.3.2 DataTypeTo Inspector与DataWrapp ing

10.3.3 InspectorToDataType与Data Unw rapp ing

10.4 Hive UDF管理机制

10.5 Spark Thrift Server实现

10.5.1 Service体系

10.5.2 Operation与OperationManager

10.5.3 Session与SessionManager

10.5.4 Authentication安全认证管理

10.5.5 Spark Thrift Server执行流程

10.6 本章小结

第11章 Spark SQL开发与实践

11.1 腾讯大数据平台(TDW)简介

11.2 腾讯大数据平台SQL引擎(TDW-SQL-Engine)

11.2.1 SQL-Engine背景与演化历程

11.2.2 SQL-Engine整体架构

11.3 TDW-Spark SQL开发与优化

11.3.1 业务运行支撑框架

11.3.2 新功能开发案例

11.3.3 性能优化开发案例

11.4 业务实践经验与教训

11.4.1 Spark SQL集群管理的经验

11.4.2 Spark SQL业务层面调优

11.4.3 SQL写法的“陷阱”

11.5 本章小结

总结

参考文献

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部