java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 50372|回复: 291

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

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

    [LV.Master]出神入化

    2100

    主题

    3758

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66834

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

    发表于 2019-5-28 21:57:26 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Spark SQL内核剖析》
    8 I8 G8 W: R1 }8 h. Ijava电子书推荐理由: 经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark开源社区中*为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制进行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实开发案例与实践优化经验$ l# Z3 W6 s- l$ [

    1 h! A. C6 Z6 C7 K  }. w
    作者:朱锋' `% V: q( j( {/ Z
    出版社:电子工业出版社. g. ]& t2 O9 S+ y: r& O
    出版时间:2018年08月
    2 y) j' d( S3 u0 [+ X书籍价格:69.0元

    ' g6 m, u& ^; d5 t

    % ~: c5 p# Z- Y1 x4 ^! g 111.jpg 5 p/ ~; j# k# N" @4 r: \6 K

    " K- S+ J( D& t' y+ l& e% E4 pjava电子书目录:. H4 o4 J' q" ?$ E4 d2 M  [
    第 1 章 Spark SQL 背景% y, G2 P, R+ K+ s, u: R
    1.1 大数据与 Spark 系统0 G( S' [  [& P8 O: g$ q
    1.2 关系模型与 SQL 语言3 b* l; l1 c7 _6 c3 D4 u1 Q& I
    1.3 Spark SQL 发展历程0 a, T& Q* l1 O& Q( x* P
    1.4 本章小结
    + G4 h4 M  R& \, o4 w5 W第 2 章 Spark 基础知识介绍3 }: T- |# r" e: g$ x$ r) N1 N
    2.1 RDD 编程模型
    8 o3 n! P# {6 n' D' `* ~$ L& {2.2 DataFrame 与 Dataset& e. ^9 j3 T& \% c5 O5 M
    2.3 本章小结
    # I) r7 b- ~! b* ^0 U第 3 章 Spark SQL 执行全过程概述
    & j( o7 {, H/ X* I' B4 A3.1 从 SQL 到 RDD:一个简单的案例# s& ]( ^. m" r1 |% r
    3.2 重要概念
    / D$ P9 e: A( C- i6 u4 q/ ?3.2.1        InternalRow 体系: D% w$ b9 v: x4 n
    3.2.2        TreeNode 体系
    , S( |  v8 \7 O( C& r+ K# n) `3.2.3        Expression 体系
    % {0 L1 ]/ T% O3.3 内部数据类型系统- G" H) a5 r! X. `5 v
    3.4 本章小结$ P6 r2 ?# ~2 s( J7 l. M8 F  h
    第 4 章 Spark SQL 编译器 Parser3 E0 R9 z. n, Q0 k, [( ~; C0 c
    4.1        DSL 工具之 ANTLR 简介
    ) V0 T5 B$ p% ~1 e4 F4.1.1 基于 ANTLR 4 的计算器7 {# u( E2 Q! T
    4.1.2 访问者模式: k# {1 E/ Q8 Q% ?, G0 ~# w
    4.2        SparkSqlParser 之 AstBuilder: h6 ]  S, e, X1 Q' F" w
    4.3 常见 SQL 生成的抽象语法树概览" e4 W) b  v4 s+ |7 h
    4.4 本章小结
    + w) x' O2 v8 ~; V第 5 章 Spark SQL 逻辑计划(LogicalPlan)
      }3 ?" {3 h4 q5.1 Spark SQL 逻辑计划概述6 [- F* k5 `0 M. l) D
    5.2        LogicalPlan 简介
    * G0 L# d5 V. u5.2.1        QueryPlan 概述
    : u" i( w0 F9 l& G5.2.2        LogicalPlan 基本操作与分类" y, s  p( K& [9 E3 X: a
    5.2.3        LeafNode 类型的 LogicalPlan5 e& q2 p: R5 V; ]; P7 o* ~% s0 U
    5.2.4        UnaryNode 类型的 LogicalPlan
    3 G8 b2 n7 f% w. I6 U5.2.5        BinaryNode 类型的 LogicalPlan
    , e/ ?  d8 X; ?: X" M: \- E5.2.6        其他类型的 LogicalPlan  o. i( O- ~. u& J/ L, X: Z2 e
    5.3        AstBuilder 机制:Unresolved LogicalPlan 生成3 c. K  m. A" E
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成0 U6 z6 N( w9 V- }: [$ z
    5.4.1        Catalog 体系分析0 n+ C; W0 r* k; J4 C" v
    5.4.2 Rule 体系
    6 L  f9 j+ ]. K; ~, b* {5.4.3 Analyzed LogicalPlan 生成过程
    # }. _. o0 {% m  e5.5        Spark SQL 优化器 Optimizer' s) I7 b( e/ _# g* v
    5.5.1        Optimizer 概述4 R( C4 D3 |& e8 Y
    5.5.2        Optimizer 规则体系6 B3 T7 K. ?8 j! ]* g' ~9 U# Y% c
    5.5.3        Optimized LogicalPlan 的生成过程. ]+ z4 m3 o  u
    5.6 本章小结8 {+ O% W$ ]" F% W; R. Y% d
    第 6 章 Spark SQL 物理计划(PhysicalPlan)
    + z2 x8 z9 y) P5 E6.1 Spark SQL 物理计划概述+ L+ u" `9 _0 E
    6.2        SparkPlan 简介6 P3 X# a. I$ n- t& E# x) ?
    6.2.1        LeafExecNode 类型
    4 r, G3 l3 A: j" Z1 o9 x6.2.2        UnaryExecNode 类型5 _" \, a9 @3 ^1 ]" K
    6.2.3        BinaryExecNode 类型, ]( r3 m) P/ s6 _7 j# c7 l
    6.2.4        其他类型的 SparkPlan
    2 H( ?( L* X; v7 k/ f+ I5 C6.3        Metadata 与 Metrics 体系5 |# @. f% Y3 q; D$ x8 i- |1 b
    6.4        Partitioning 与 Ordering 体系0 c  V- ?1 Q9 z  p" L
    6.4.1        Distribution 与 Partitioning 的概念
    & T5 G, u7 R) j! k0 H' `9 t6.4.2 SparkPlan 的常用分区排序操作
    $ n/ v  \1 c. J' V: _* C! t6.5        SparkPlan 生成9 @, N  Y) Z2 p! P, t
    6.5.1 物理计划 Strategy 体系
    % @8 D6 Z& D8 }! n  j0 V6 W6.5.2 常见 Strategy 分析
      S* g6 E0 p) c6.6 执行前的准备
    / k; R: m0 W2 {- q& G: G5 y6.6.1        PlanSubqueries 规则
    , @! E  G) _* M- Z0 T6.6.2        EnsureRequirements 规则
      p* b4 C4 t0 Q4 d6.7 本章小结) A& H  ^& t0 ^9 t5 _; P2 Y
    第 7 章 Spark SQL 之 Aggregation 实现
    : P9 S- ?8 c. I# o1 t: m" [7.1        Aggregation 执行概述
    , B* U. S6 x, N. c6 E7.1.1 文法定义
    5 v' s; m0 x3 O3 w6 w# Y& L; o6 R$ f. y9 u7.1.2        聚合语句 Unresolved LogicalPlan 生成* Y+ S4 e9 r# o5 e( v3 c- O
    7.1.3 从逻辑算子树到物理算子树
    0 z1 o9 N2 |- C7.2        聚合函数(AggregateFunction)9 w" [$ v* R5 s) T5 D
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)" B  ?: ?8 R! e- x8 u
    7.2.2        DeclarativeAggregate 聚合函数3 F: |8 x" Q! p2 F6 @
    7.2.3        ImperativeAggregate 聚合函数$ E2 @, r2 M- H2 ?. T; v4 o; J. x
    7.2.4        TypedImperativeAggregate 聚合函数6 H- d. p& p# v4 e- O; H5 m% |
    7.3 聚合执行, D0 `; z# K8 U! n* l
    7.3.1        执行框架 AggregationIterator+ o- C: N) L& o6 v) m
    7.3.2        基于排序的聚合算子 SortAggregateExec
    % ?  P3 h: w9 Z- V7.3.3        基于 Hash 的聚合算子 HashAggregateExec6 b5 r: d# s: a) W# K6 ~1 @  N
    7.4 窗口(Window)函数
    : {8 A2 r' E7 P& U/ S( I7 c" P- M5 a7.4.1 窗口函数定义与简介: I1 r$ K7 \" s! J
    7.4.2 窗口函数相关表达式) t) G  ^- c. c- A& E4 a! r+ G
    7.4.3 窗口函数的逻辑计划阶段与物理计划阶段2 T& e$ p0 Z. O' B' s/ Z4 T
    7.4.4 窗口函数的执行. Q( X" X  y. b' y
    7.5 多维分析
    - X0 K5 E: e% f2 [. n# l0 g5 D7.5.1 OLAP 多维分析背景
    0 U/ i% [9 c! M/ m4 r8 ~, z- W) J7.5.2        Spark SQL 多维查询, y# l1 l' F- V) a. R+ |# I
    7.5.3        多维分析 LogicalPlan 阶段  d" |& T$ U2 O' {( H% j- E
    7.5.4        多维分析 PhysicalPlan 与执行
    , O- B2 A1 j6 Z5 h& I. n8 D/ j) G, X7.6 本章小结
    " x- t! c$ D1 F1 C4 i7 A$ T0 N) N$ w第 8 章 Spark SQL 之 Join 实现
    0 G( R% P, w3 L6 C& |: u8.1 Join 查询概述* p- P( E" h5 i
    8.2 文法定义与抽象语法树) `' t7 y! R% u, v8 ]
    8.3 Join 查询逻辑计划$ i: N' w9 W& G8 C) \, @* H5 y
    8.3.1        从 AST 到 Unresolved LogicalPlan
    3 o4 o4 G5 x7 K5 ~9 k  h8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan+ L! L: F% z  n3 r* E
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan4 ^! N: \  z$ [+ B1 G  F+ u
    8.4 Join 查询物理计划
    6 v( V( K# _* w5 I% o1 P0 H: A* B! ]8.4.1 Join 物理计划的生成
    # n. T8 C. G4 C8.4.2 Join 物理计划的选取
    # I8 W' [; `' M) r3 t# e8.5 Join 查询执行6 I2 W3 C* @7 \5 S1 n" r
    8.5.1 Join 执行基本框架5 x* @! B7 g. e, D6 Z
    8.5.2        BroadcastJoinExec 执行机制# O* ]7 N- N/ L1 N7 d6 s0 B
    8.5.3        ShuffledHashJoinExec 执行机制' E5 e7 [  Q4 H4 H( u
    8.5.4        SortMergeJoinExec 执行机制
    ( I2 u8 b. ]7 i- H8.6 本章小结6 A* {/ l  n; f' ^
    第 9 章 Tungsten 技术实现
    1 |* x; O$ u, j( _& T8 C- j5 F9.1 内存管理与二进制处理2 f9 W1 y! j- |  ~* b
    9.1.1 Spark 内存管理基础
    ! I, v7 T2 V" n& _( {) O) g9.1.2 Tungsten 内存管理优化基础& _* s  p( B* [# t# u% m& n0 S
    9.1.3 Tungsten 内存优化应用
    ! @: A) S8 ~/ e, ?  ?9 _9.2        缓存敏感计算(Cache-aware computation)
    $ L  ]2 H0 l$ {. T2 f9.3        动态代码生成(Code generation)- s( h( c2 o" ~) w; H; [
    9.3.1 漫谈代码生成
    + b) @- @! q8 K8 N# s6 }9 S$ P* V9.3.2 Janino 编译器实践
    . J4 g- G7 }/ f, l9.3.3 基本(表达式)代码生成# b! Z3 w* U% r5 @* k5 B. P/ Q
    9.3.4 全阶段代码生成(WholeStageCodegen)
    : R$ V; |$ E8 u8 I0 ^8 S9.4 本章小结
    . d6 A9 y3 k& L6 {" h第 10 章 Spark SQL 连接 Hive0 ]2 O1 P. f" c6 S
    10.1 Spark SQL 连接 Hive 概述
    8 D9 V- q; i+ N8 y8 H) d10.2 Hive 相关的规则和策略% y. l, x& U' I5 {
    10.2.1        HiveSessionCatalog 体系- ?2 }5 ^+ }4 B) y" M) }
    10.2.2        Analyzer 之 Hive-Specific 分析规则
      }5 [4 W5 I; b! @6 x10.2.3        SparkPlanner 之 Hive-Specific 转换策略8 c# |9 |' l5 H4 S
    10.2.4 Hive 相关的任务执行
    ! S7 D4 n' L8 {. I& z' ]9 f9 t5 y10.3        Spark SQL 与 Hive 数据类型4 a. L! W) m6 w0 t/ U% _
    10.3.1 Hive 数据类型与 SerDe 框架$ v8 e- m7 C: u/ r5 g
    10.3.2        DataTypeToInspector 与 Data Wrapping
    9 z0 G. t4 L/ W) c, e6 ?6 j10.3.3        InspectorToDataType 与 Data Unwrapping0 U& d- q1 Y( J  e5 Z
    10.4 Hive UDF 管理机制
    + R; b) x; k' V! v+ X3 S& `, U10.5        Spark Thrift Server 实现
    * P, X+ L' ]  r9 M$ d) L10.5.1        Service 体系
    javazx.com
    6 B3 S9 d; y8 ^2 G% t# P! x9 E1 \10.5.2        Operation 与 OperationManager6 f0 b0 ^- Y- g5 W0 J/ d1 N+ c
    10.5.3        Session 与 SessionManager% u0 a9 p9 S9 w) a, ~9 i
    10.5.4        Authentication 安全认证管理" s" q" H6 h  w9 g. Z3 D
    10.5.5        Spark Thrift Server 执行流程4 l7 L) X) P7 v" b# f; O( e
    10.6 本章小结
      A- B7 T/ |  ^8 ~' D第 11 章 Spark SQL 开发与实践
    7 u) `/ o- L2 t( O# S1 ?! M# J11.1 腾讯大数据平台(TDW)简介
    ) h  I: s4 C2 M9 M5 y. D  K  h11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)8 y! K& h9 s( _0 W
    11.2.1 SQL-Engine 背景与演化历程" v2 `2 l9 d8 `/ n* M$ ~% M
    11.2.2 SQL-Engine 整体架构- Z  X( B1 W& i
    11.3 TDW-Spark SQL 开发与优化
    3 y. K" @: I- |11.3.1 业务运行支撑框架* j! \" @2 T: e/ o: O: P" Q6 \
    11.3.2 新功能开发案例
    ( B5 E. U: |' z11.3.3 性能优化开发案例
    + ^7 E: S3 v( P) _9 E6 }11.4 业务实践经验与教训
    ) G/ b3 H) g2 v11.4.1 Spark SQL 集群管理的经验
    . q0 L8 J' Q  \1 z% g+ `11.4.2 Spark SQL 业务层面调优
    # _4 ?2 M, ?! h  \( P" v5 L3 b11.4.3 SQL 写法的“陷阱”  I6 N7 m; g7 F% E/ p$ ]( e- G$ [. S
    11.5        本章小结+ Z1 [) ^% e+ r* K1 @
    总结
    % D# {; w. G3 i" m7 z6 U参考文献

    0 z6 d" j1 S4 V1 _; \Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】
    / X5 d! l1 g! C7 k3 j6 p
    游客,如果您要查看本帖隐藏内容请回复

    / A; d# m: l! q  h7 N
    : H$ @1 ]# K5 E$ M# U

    ' U- s" c4 k& B+ w$ N' R7 \
    - \% I) A% s( G1 z! M
    ' y4 C/ S0 w9 }  K0 a) D3 B
    . J* C5 \' d, H: U; b* L% X
    回复

    使用道具 举报

  • 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 | 显示全部楼层

    ; X! s8 @- \3 h4 M. D9 S+ B2 N3 O; T8 ]$ T' X2 `, b, i
    谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-4-21 08:47 , Processed in 0.124332 second(s), 41 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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