展开全部

主编推荐语

聚焦Spark SQL系统,剖析架构及技术实现,分享开发案例与优化经验。

内容简介

经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark开源社区中最为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制进行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实开发案例与实践优化经验。

目录

  • 封面
  • 书名页
  • 内容简介
  • 版权页
  • 推荐序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个评分
  • 用户头像
    给这本书评了
    3.0
    有参考意义,排版有些问题

    涉及 sparksql 底层源码,有参考意义,尤其最后讲到腾讯内部的一些优化实践,有很大的启发。主要就是排版有些问题,有些英文是分开的, 然后划线或记笔记的话会出现画不准(尤其是在电脑端)的现象。希望出版方能够及时订正

      转发
      评论

    出版方

    电子工业出版社

    电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。