java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 48733|回复: 291

[java电子书] Spark SQL内核剖析 PDF 电子书 百度云

  [复制链接]
  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2073

    主题

    3731

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66653

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-5-28 21:57:26 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Spark SQL内核剖析》
    5 ~7 Q; K, Y" O+ q% Ejava电子书推荐理由: 经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark开源社区中*为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制进行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实开发案例与实践优化经验
    ! v( ^) N8 m" K
    / u. e' f$ \( d6 z/ F% |
    作者:朱锋! w. \6 ]7 W& ~4 W
    出版社:电子工业出版社  Z( Q3 _) B# E
    出版时间:2018年08月
    ' s1 z) B# ~- p) E9 l书籍价格:69.0元

    # C+ |5 [2 o$ q. B) b
    & {- k& ^. H7 ~
    111.jpg : x' C0 e+ j$ u8 O$ d$ O
    # Y- H# Q5 H0 I; C5 r! ^1 g3 u$ J, r
    java电子书目录:
    / k% E+ ]! I4 k8 f# A8 `" Z( F
    第 1 章 Spark SQL 背景
    ! b1 {% T5 x( W1.1 大数据与 Spark 系统4 s$ ]! S1 [  ^, X. x
    1.2 关系模型与 SQL 语言6 ]! \$ ^; H1 n4 ~$ u
    1.3 Spark SQL 发展历程% _" Y" c' F8 E( T# t$ g9 B6 L
    1.4 本章小结
    7 V& ]3 [+ j* H% A2 \) K- q第 2 章 Spark 基础知识介绍6 \% ?% Z( O" R& X$ h8 Z5 f. m/ m
    2.1 RDD 编程模型
    7 n6 \5 ]7 t$ r: ]3 |* d& t- R& L2.2 DataFrame 与 Dataset
    8 r4 S+ d8 s. r8 p  ~+ ]2.3 本章小结
    % J+ ]# d$ O4 N0 q% E( |第 3 章 Spark SQL 执行全过程概述. h& f: D* ?! T7 `/ L5 B# n8 ~
    3.1 从 SQL 到 RDD:一个简单的案例
    4 i1 ]8 n' ]" p3.2 重要概念" U, X  n, _2 i  R  c
    3.2.1        InternalRow 体系
    7 q; X* z( @- @# ]3.2.2        TreeNode 体系6 r! V8 U; S% h5 X3 Z$ p* r
    3.2.3        Expression 体系! Y8 l- Y6 y' M' L; u* T& {; |$ y
    3.3 内部数据类型系统. F5 E% e; U: r3 e& v1 f
    3.4 本章小结; |; \+ f" d% D4 T" j' r
    第 4 章 Spark SQL 编译器 Parser
    3 q$ z9 O  ^) B1 `: q5 e0 y6 L, K4.1        DSL 工具之 ANTLR 简介
    , s1 v. j3 N% C; T/ t6 H3 q6 Y4.1.1 基于 ANTLR 4 的计算器- h$ G* I( m, }. i, Z1 A* y! P! L
    4.1.2 访问者模式
    7 I5 `& N7 D" G; z4.2        SparkSqlParser 之 AstBuilder* |( c  n. W5 [6 z
    4.3 常见 SQL 生成的抽象语法树概览
    : a. x/ @/ T/ H, o& `/ ^4.4 本章小结
    $ S$ Z. h7 b5 d& v/ M- W2 A第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    # Y" h7 C) ^$ R" X5.1 Spark SQL 逻辑计划概述
    " J2 ~7 ]3 [) i) o" B; \4 m5.2        LogicalPlan 简介6 M2 \7 x2 _% q
    5.2.1        QueryPlan 概述
    ) i4 M6 }* Y, W8 H7 l0 n5.2.2        LogicalPlan 基本操作与分类% i$ S  `, V3 C  h
    5.2.3        LeafNode 类型的 LogicalPlan
    7 V6 z; q6 W- l7 k  y3 k: `& s5.2.4        UnaryNode 类型的 LogicalPlan
    * w6 t1 d8 B% J1 o% P* \+ ^* o5.2.5        BinaryNode 类型的 LogicalPlan% L8 u5 ]; u# k8 G
    5.2.6        其他类型的 LogicalPlan; j; O" X! B, ~# c
    5.3        AstBuilder 机制:Unresolved LogicalPlan 生成; |1 e: K" x# K2 U8 a, P# b
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成* n% Y9 d1 b1 F! t: w0 B
    5.4.1        Catalog 体系分析
    : m, T) y1 ?6 ^! ~  V8 Q5.4.2 Rule 体系' [% o: O6 V( R& N6 l
    5.4.3 Analyzed LogicalPlan 生成过程0 N; h: x, L  H/ _# ]$ p$ P
    5.5        Spark SQL 优化器 Optimizer/ @  f4 f6 \& p( C% R7 d( d- u; ^
    5.5.1        Optimizer 概述' j: a6 |, N3 r7 D4 A6 J) e$ o
    5.5.2        Optimizer 规则体系: w, w% c/ g! Q* k; I( M
    5.5.3        Optimized LogicalPlan 的生成过程* N' o: ]# |" `
    5.6 本章小结
    7 T6 N+ a. d; t# Y* I. n4 c  G8 r第 6 章 Spark SQL 物理计划(PhysicalPlan)
    / k. k+ n1 @. X6.1 Spark SQL 物理计划概述
    8 Q/ @: L1 v6 |, X; s" Z0 D8 O- P6.2        SparkPlan 简介
    5 n7 p5 K9 |5 @6.2.1        LeafExecNode 类型
    3 ^' ?& l1 P6 d5 p  O6.2.2        UnaryExecNode 类型4 s- L, `2 X9 }( y1 ~; z
    6.2.3        BinaryExecNode 类型& K; v. d7 B, t, A" ^* o
    6.2.4        其他类型的 SparkPlan
    " _2 F' N4 A( ~$ t5 L0 ^6.3        Metadata 与 Metrics 体系# m7 i& c3 J, o0 L& C
    6.4        Partitioning 与 Ordering 体系
    5 Q; a* ^3 d- N! j; H; W% m6.4.1        Distribution 与 Partitioning 的概念
      M- w! t0 z' E6.4.2 SparkPlan 的常用分区排序操作/ J5 o4 I  A: T: \, O
    6.5        SparkPlan 生成* ~6 f& V& f* Z" m
    6.5.1 物理计划 Strategy 体系
    8 {/ A! S4 s& r4 i6.5.2 常见 Strategy 分析
    " ^" S1 p! y0 ^% r! R" {/ W6.6 执行前的准备
    ; T0 l% d- P% f" j' x8 J' P0 q6.6.1        PlanSubqueries 规则
    1 {1 T, c0 V# v) e6.6.2        EnsureRequirements 规则7 v# T% o" j/ ?7 E: T
    6.7 本章小结; t; ?- `8 k1 Z$ z
    第 7 章 Spark SQL 之 Aggregation 实现
    9 B4 a/ V6 V: p4 Q4 A  J; ~7.1        Aggregation 执行概述( e- F: Q- ]5 c3 ]
    7.1.1 文法定义& k4 P9 x: C5 {8 O( B2 w7 a7 R
    7.1.2        聚合语句 Unresolved LogicalPlan 生成1 m+ p) d+ `* `: y+ K3 n( F
    7.1.3 从逻辑算子树到物理算子树" T3 m5 D+ a) v9 v9 G2 {- b
    7.2        聚合函数(AggregateFunction)# X  p+ A4 h  x$ p+ O: W
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)
    3 }& ?2 I- [5 i, B; P6 |, ?; f5 f4 G2 t7.2.2        DeclarativeAggregate 聚合函数
    % [3 H% G' u' W2 i7.2.3        ImperativeAggregate 聚合函数& A0 J. l. v* `
    7.2.4        TypedImperativeAggregate 聚合函数
    % k: i3 l% K9 l. Y/ W2 I! {; N% r7.3 聚合执行, F+ |0 B1 h, H- p0 \8 Q6 Y4 o
    7.3.1        执行框架 AggregationIterator7 B# {! _) c' d5 o' y, y
    7.3.2        基于排序的聚合算子 SortAggregateExec
    5 A9 V  w! b" e8 A- v; G9 \7.3.3        基于 Hash 的聚合算子 HashAggregateExec
    . _1 q0 G5 v" D3 n8 [7.4 窗口(Window)函数
    1 q5 I5 s6 D/ ~6 `7.4.1 窗口函数定义与简介
    ! L. D3 f" j& A9 d1 }3 U7 A7.4.2 窗口函数相关表达式
    + H$ Y( z" w" a7 b. W" V7.4.3 窗口函数的逻辑计划阶段与物理计划阶段4 }" H( h+ Q7 @5 q
    7.4.4 窗口函数的执行, [) t( ]2 B4 F7 J: q
    7.5 多维分析
    6 ~$ j. p( k' k2 ?& u$ A& Z! g7.5.1 OLAP 多维分析背景
    + K! X1 z7 g' ~" U7.5.2        Spark SQL 多维查询/ o, D7 q4 s2 g# q
    7.5.3        多维分析 LogicalPlan 阶段
    . d$ ^) j: X9 Z- S7.5.4        多维分析 PhysicalPlan 与执行
    % q# |4 N8 f% Q! e5 G: ^4 n7.6 本章小结
    9 F, b1 A9 [% z/ D; p7 r8 n2 t第 8 章 Spark SQL 之 Join 实现
    " ^0 T1 u" q# {2 J8.1 Join 查询概述: t- \  D+ b4 [8 o3 \/ j! T
    8.2 文法定义与抽象语法树: e  V  G/ g6 h5 K+ {/ w
    8.3 Join 查询逻辑计划
    - f7 `: x$ h! t8.3.1        从 AST 到 Unresolved LogicalPlan! u4 g: s+ u( Z3 f: s; v7 q
    8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan
    ' j3 T' E3 ^+ [2 C# @# b, I+ ?8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan" F9 X2 B7 l" r" j
    8.4 Join 查询物理计划, N' ]% k. V$ X
    8.4.1 Join 物理计划的生成
    6 |7 b5 @# U6 E! t9 C; Z# r8.4.2 Join 物理计划的选取, _9 Y% P! v( q8 n( U& t9 }
    8.5 Join 查询执行$ j1 w1 U: O3 {' s  E
    8.5.1 Join 执行基本框架
    : i3 `, C9 y  h/ ?8.5.2        BroadcastJoinExec 执行机制
    ! B% f6 r; t7 B$ o. N" ?8.5.3        ShuffledHashJoinExec 执行机制
    8 g4 s5 |- }! n. V8 u* i8.5.4        SortMergeJoinExec 执行机制
    ) N* a1 Z* q7 ~/ @/ @+ a8.6 本章小结# ]. [0 c0 D( F$ {" |
    第 9 章 Tungsten 技术实现
    " k% {5 j1 d  W4 O& M* X9.1 内存管理与二进制处理
    , k6 y* V4 ?4 U8 y0 f9.1.1 Spark 内存管理基础8 U, v* P3 B- V( g& d- Z9 F7 V
    9.1.2 Tungsten 内存管理优化基础# {; Q9 `* C+ O4 l
    9.1.3 Tungsten 内存优化应用
    4 i' d* @" A  _: M2 X9.2        缓存敏感计算(Cache-aware computation)
    % g3 J' Z4 `. V! @( E9 i- l9.3        动态代码生成(Code generation)- M1 f: i+ b) m2 c# [
    9.3.1 漫谈代码生成0 l+ ^7 s0 U- \3 ?9 J! y+ S
    9.3.2 Janino 编译器实践
    4 P$ `) \! Q1 T9 d, M9.3.3 基本(表达式)代码生成
    & f" F% L, Y. U+ S: c: T9.3.4 全阶段代码生成(WholeStageCodegen)
    + @# S/ s) D0 `$ r( `9 T( Z2 S( S9.4 本章小结/ V3 y: R) _: f+ S4 P9 \
    第 10 章 Spark SQL 连接 Hive$ R# J) t9 \+ D  U- x
    10.1 Spark SQL 连接 Hive 概述0 \# O) @* b& W( O7 `; K
    10.2 Hive 相关的规则和策略& p7 v2 W1 X: K5 G% l; r. g
    10.2.1        HiveSessionCatalog 体系
    + Y2 U* S) b6 ]: Q+ _( [7 V10.2.2        Analyzer 之 Hive-Specific 分析规则
      @, F/ y2 ?& x5 C7 Q8 r- \2 m10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    9 I4 W" J3 i4 f- ~10.2.4 Hive 相关的任务执行. S4 r- |5 m8 Z4 \% a1 @& [
    10.3        Spark SQL 与 Hive 数据类型4 a7 |4 X0 |8 s+ ^" z1 N$ }2 s% b
    10.3.1 Hive 数据类型与 SerDe 框架3 q! j$ G3 O; T% D) [" |9 S
    10.3.2        DataTypeToInspector 与 Data Wrapping2 p# N  n, J% M! Y* a) O
    10.3.3        InspectorToDataType 与 Data Unwrapping0 V) z  D# S6 a
    10.4 Hive UDF 管理机制  ^8 e( N3 K% E6 v& \
    10.5        Spark Thrift Server 实现
    ( u! [' A( K3 A: y, A( i10.5.1        Service 体系
    javazx.com
    % R3 K& v2 X! s1 U+ y- i10.5.2        Operation 与 OperationManager
    8 B+ c' F& M; j, G10.5.3        Session 与 SessionManager0 m9 H4 }: k+ d# y: X* T6 g* l
    10.5.4        Authentication 安全认证管理, p; b8 J" e, b, ]
    10.5.5        Spark Thrift Server 执行流程
    4 x5 Y2 V, o: }6 m9 T5 v& L10.6 本章小结# o# Q( ^- }8 V1 i# L+ b
    第 11 章 Spark SQL 开发与实践9 Z6 F* A7 M! J" W, _4 S( C8 q$ S& Y
    11.1 腾讯大数据平台(TDW)简介1 B- e8 `; B- H* g7 g
    11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)7 `0 N* W# w, c+ \+ ~7 v. Z
    11.2.1 SQL-Engine 背景与演化历程" x- a  F- T8 b( ~; [3 R; J
    11.2.2 SQL-Engine 整体架构
    : ?# E% H6 S; H11.3 TDW-Spark SQL 开发与优化7 e( @: \& G: H+ q& j& I' p  \
    11.3.1 业务运行支撑框架/ h6 o8 z$ l9 X4 h4 n) G
    11.3.2 新功能开发案例
    - r/ c5 ]/ `$ L5 u) R6 r11.3.3 性能优化开发案例: H6 @* t! n+ {* a9 K& u; r
    11.4 业务实践经验与教训; s/ Z) k; n. _7 p& _) Z# a
    11.4.1 Spark SQL 集群管理的经验. H& Z9 }* p. F' k
    11.4.2 Spark SQL 业务层面调优% R4 |" X, G' a4 @
    11.4.3 SQL 写法的“陷阱”
    " U$ j6 f1 x% t( B0 ]7 t11.5        本章小结/ |$ D" ~7 b1 O. S$ e7 V$ D
    总结" d- t1 t$ m7 Z$ Y9 f
    参考文献

    4 K, }; t; a9 D+ }' tJava资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】9 t! B( f. r; l5 `
    游客,如果您要查看本帖隐藏内容请回复
    : i0 i# M7 R- l5 O' x5 m

    * ^: ^$ Z( e; D1 x  O, ~

    . o+ y. r# n. b7 r3 U: Q) a& \3 v! m$ o# u; h6 ~: w
    ' }$ x4 M3 \  o/ G

    " F( l5 B  N. g  ~: N+ e
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-9-23 11:20
  • 签到天数: 18 天

    [LV.4]略有小成

    0

    主题

    44

    帖子

    424

    积分

    普通会员

    Rank: 2

    积分
    424
    发表于 2019-6-1 09:11:00 | 显示全部楼层
    谢谢你的分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2020-12-13 15:17
  • 签到天数: 299 天

    [LV.8]已臻大成

    0

    主题

    445

    帖子

    5016

    积分

    普通会员

    Rank: 2

    积分
    5016
    发表于 2019-6-2 08:49:06 | 显示全部楼层
    , C* T/ `6 I; h3 F

    - x+ W4 z0 |6 c1 @$ }  x5 t谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-10-17 12:29
  • 签到天数: 10 天

    [LV.3]初窥堂奥

    0

    主题

    24

    帖子

    232

    积分

    普通会员

    Rank: 2

    积分
    232
    发表于 2019-6-5 15:30:16 | 显示全部楼层
    dsadasdadweqeqweqweqeq
    回复 支持 反对

    使用道具 举报

    wwc 该用户已被删除
    发表于 2019-6-14 08:37:32 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-5-25 08:30
  • 签到天数: 92 天

    [LV.6]炉火纯青

    2

    主题

    272

    帖子

    30万

    积分

    终身VIP

    Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60

    积分
    302357
    发表于 2019-6-19 20:30:18 | 显示全部楼层
    hhhhhhhhhhhhhhhhhhhhhhhhhh
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-6-21 21:49
  • 签到天数: 1 天

    [LV.1]初学乍练

    0

    主题

    4

    帖子

    30

    积分

    普通会员

    Rank: 2

    积分
    30
    发表于 2019-6-21 21:53:48 | 显示全部楼层
    不错好资源 可以用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-6-26 18:48
  • 签到天数: 1 天

    [LV.1]初学乍练

    0

    主题

    2

    帖子

    16

    积分

    普通会员

    Rank: 2

    积分
    16
    发表于 2019-6-26 18:50:31 | 显示全部楼层
    多谢                           
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-8-19 13:44
  • 签到天数: 5 天

    [LV.2]登堂入室

    0

    主题

    17

    帖子

    122

    积分

    普通会员

    Rank: 2

    积分
    122
    发表于 2019-7-1 14:03:27 | 显示全部楼层
    第 11 章 Spark SQL 开发与实践
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-15 09:22
  • 签到天数: 3 天

    [LV.2]登堂入室

    0

    主题

    6

    帖子

    60

    积分

    普通会员

    Rank: 2

    积分
    60
    发表于 2019-7-12 13:30:07 | 显示全部楼层
    谢谢分享,谢谢分享
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2025-3-7 10:30 , Processed in 0.143716 second(s), 39 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表