java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 41165|回复: 289

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66105

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

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

    * e( b1 \2 S0 D4 H6 y$ v6 m- S
    作者:朱锋
    % H* b0 k) Z( F4 A  O出版社:电子工业出版社
    ' Z6 T! u: ^2 @$ G  I! H! e- D出版时间:2018年08月 5 I5 @, [! ]* a
    书籍价格:69.0元
    & [' x8 L  M" F' _+ n+ x) x
    + E/ Z% R  T1 c, v- u+ y( }& d9 f! @0 Z+ }
    111.jpg
    4 o4 {3 v0 i2 D, t! z
    7 U) j2 u0 @  E; @' l: [  L
    java电子书目录:
    " V+ K: E6 S7 q
    第 1 章 Spark SQL 背景
    ' H6 m3 E4 T7 M; }. E. o/ f$ R" k1.1 大数据与 Spark 系统
    ! h6 j& ~2 c" S$ K1.2 关系模型与 SQL 语言
    ( @6 ~' T! W+ A$ _' l) G& D1.3 Spark SQL 发展历程
    6 E4 L. ?6 Z4 x& Z; h5 h1.4 本章小结" W0 a; i. e5 {. _, d
    第 2 章 Spark 基础知识介绍
    1 [* q- L' E2 Y" g- i5 j+ E! }0 o2.1 RDD 编程模型+ K- l; M0 P$ B5 h
    2.2 DataFrame 与 Dataset# V/ F  M; S: X5 _
    2.3 本章小结
    & [6 g' K- L. t3 Q  _1 L- b第 3 章 Spark SQL 执行全过程概述3 d) |1 u4 B2 g8 O' a* G
    3.1 从 SQL 到 RDD:一个简单的案例. E: P* j5 y% _3 l% l8 y5 U3 m
    3.2 重要概念$ E( c( s: w  f/ U8 j
    3.2.1        InternalRow 体系
    1 N$ R* t( N8 l1 f* D/ M3.2.2        TreeNode 体系
    ! [7 f2 Z+ L$ J: Q3.2.3        Expression 体系
    8 X* W( r; c' j* q/ u% q3.3 内部数据类型系统9 r7 b3 r3 y/ z3 x0 {2 J# e! e- i
    3.4 本章小结  ]# p5 e: f- w6 z
    第 4 章 Spark SQL 编译器 Parser, y( I# T, ]- c
    4.1        DSL 工具之 ANTLR 简介2 y+ m/ ?9 |2 ]# q4 h4 T! g
    4.1.1 基于 ANTLR 4 的计算器
    $ `3 k- \4 |3 d9 L2 A- l8 X. v  n4.1.2 访问者模式- d0 U; B6 a; w4 M- I+ Q2 V
    4.2        SparkSqlParser 之 AstBuilder. f4 P4 ?8 W- ^5 y1 p8 @% g
    4.3 常见 SQL 生成的抽象语法树概览6 G  _6 n3 F4 }: U
    4.4 本章小结
    2 }3 Q: t4 i. I" M. T第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    4 D: t3 b( b. u8 }) N8 m% E5.1 Spark SQL 逻辑计划概述3 Q7 h# d7 A/ p0 G
    5.2        LogicalPlan 简介
    " H+ z' q8 }3 ~- Y5.2.1        QueryPlan 概述4 K7 @6 A0 M+ U+ o1 K, ~
    5.2.2        LogicalPlan 基本操作与分类
    ' L3 J( f5 ^" O5.2.3        LeafNode 类型的 LogicalPlan$ L5 A( s! ~- W8 c. d
    5.2.4        UnaryNode 类型的 LogicalPlan
    6 d  {4 }$ d; h; X: J5.2.5        BinaryNode 类型的 LogicalPlan
    2 J, i$ E( X* v5 [" K5.2.6        其他类型的 LogicalPlan. \% Z5 L; i6 X, x# P. P
    5.3        AstBuilder 机制:Unresolved LogicalPlan 生成
    0 I' x/ v6 H5 n% W$ V/ }2 x: R5.4        Analyzer 机制:Analyzed LogicalPlan 生成8 N1 ^) F. J+ \0 O+ P( Q# m$ m
    5.4.1        Catalog 体系分析
    . \3 I& y& m$ J/ a# z; ?! k/ c1 T5.4.2 Rule 体系6 Z" n% G- B0 E, B# S/ V1 i
    5.4.3 Analyzed LogicalPlan 生成过程3 H; \3 M/ a" u; M/ P4 i; l
    5.5        Spark SQL 优化器 Optimizer
    9 i5 _8 j% B9 S* C% L) m5.5.1        Optimizer 概述
    8 ~) E7 v) c( \5.5.2        Optimizer 规则体系4 G7 K( N9 ?4 F6 v8 ~; R. l& _: \
    5.5.3        Optimized LogicalPlan 的生成过程
    4 `1 |' j: k* j: ~* c, s6 a5.6 本章小结
    5 }6 u' D7 b: P* |第 6 章 Spark SQL 物理计划(PhysicalPlan)
    ) t/ u3 L+ E4 W5 }0 o3 S  A' c6.1 Spark SQL 物理计划概述- P7 v' ]& C7 R" p2 C% [1 [# g/ j
    6.2        SparkPlan 简介7 O  _9 G6 U. d5 [7 b  `, j
    6.2.1        LeafExecNode 类型
    ' c8 f+ o1 c4 O4 A( |, v. J6.2.2        UnaryExecNode 类型$ K5 r) ]) O' m' @, x
    6.2.3        BinaryExecNode 类型; k2 O% v# s& r" K8 l( N# [
    6.2.4        其他类型的 SparkPlan
    ( |% s% U3 T9 e4 `, f9 Y, h; W3 h6.3        Metadata 与 Metrics 体系2 S! ?  Z5 ~+ w8 T; B' t5 D
    6.4        Partitioning 与 Ordering 体系8 O" h. L$ H9 q9 y
    6.4.1        Distribution 与 Partitioning 的概念9 E' B6 e) t( k0 [+ J2 |+ m
    6.4.2 SparkPlan 的常用分区排序操作
    4 l6 J- d( j; X- S6 K6.5        SparkPlan 生成
    ! x: w* a9 T' B$ H9 R- ?6.5.1 物理计划 Strategy 体系. s0 c& r3 \, Z% ~1 L1 q
    6.5.2 常见 Strategy 分析0 F& \7 C8 B0 e, V/ R3 C/ m: C, o
    6.6 执行前的准备4 m3 N8 G" F+ E! l& O
    6.6.1        PlanSubqueries 规则  o2 x2 Q. `" h0 z  z7 @4 [
    6.6.2        EnsureRequirements 规则  f* d. r* @' {1 k
    6.7 本章小结  G# T$ ]3 M* q" l  Z
    第 7 章 Spark SQL 之 Aggregation 实现  B; D; Q  j! w* ~3 n/ r* Q3 V
    7.1        Aggregation 执行概述
    % y0 r2 V: B+ {2 A6 h7.1.1 文法定义
    3 N0 R2 ^* Y+ `! t  d7.1.2        聚合语句 Unresolved LogicalPlan 生成2 E, X) v( d7 U0 z/ A$ q! k
    7.1.3 从逻辑算子树到物理算子树
    4 c# I: y8 P  {& k1 x# K. P3 a  n7.2        聚合函数(AggregateFunction)" B1 ^$ {2 M, V
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)  x) X) a8 O0 m2 V8 s6 p: y
    7.2.2        DeclarativeAggregate 聚合函数9 ~* R  K+ i- n$ z
    7.2.3        ImperativeAggregate 聚合函数  C% \6 M: o1 ^: m2 V* r
    7.2.4        TypedImperativeAggregate 聚合函数
      L& [9 @5 o) A$ a4 H2 Q7.3 聚合执行8 F# o2 U: |9 G2 c- f$ W: P4 H
    7.3.1        执行框架 AggregationIterator
    & f6 {4 o1 I- l5 `; T- b7.3.2        基于排序的聚合算子 SortAggregateExec
    : J% H& b" h2 m7.3.3        基于 Hash 的聚合算子 HashAggregateExec
    ! Q1 ?) C  M8 `' `9 g7.4 窗口(Window)函数" b1 J. ^+ G" B0 R$ k
    7.4.1 窗口函数定义与简介
    5 ?7 w8 i/ I& ]5 B7.4.2 窗口函数相关表达式; C6 \# n4 `, |7 U; S2 H  b+ V
    7.4.3 窗口函数的逻辑计划阶段与物理计划阶段
    / z0 X$ X' P: ~7.4.4 窗口函数的执行- c7 t) a7 m# P  }0 a  [
    7.5 多维分析9 @' e* F: K. c( C5 r, \
    7.5.1 OLAP 多维分析背景
    ! O$ m/ @) J! E- e7 W/ d7.5.2        Spark SQL 多维查询4 o$ l8 E% e+ w
    7.5.3        多维分析 LogicalPlan 阶段: x4 z5 s- ]% h; Z
    7.5.4        多维分析 PhysicalPlan 与执行$ d: F' V4 Y: O1 w4 M
    7.6 本章小结
    , B& j6 O3 [$ a第 8 章 Spark SQL 之 Join 实现) d6 w% z, a3 g# O7 O$ r
    8.1 Join 查询概述
    1 T9 P% J! f7 H- ?# i& L8.2 文法定义与抽象语法树& Q% F. S  J1 G! c- x: q% u5 R: h
    8.3 Join 查询逻辑计划  H. s6 T! k* x5 \+ u! A
    8.3.1        从 AST 到 Unresolved LogicalPlan
    % ~3 P3 Y/ @) r7 ^& ?5 c8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan/ u* d, V( M7 U
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan1 x3 a( L9 C* V( p; x. v! T
    8.4 Join 查询物理计划, I& Q( C: w  e" ^& `6 b
    8.4.1 Join 物理计划的生成2 S, |2 l/ }9 r( H# o# T1 b
    8.4.2 Join 物理计划的选取
    ! I# g; e  ^2 O" @8.5 Join 查询执行5 \# Z* Q/ A9 g: t
    8.5.1 Join 执行基本框架; |& ~. ~5 o. [1 o
    8.5.2        BroadcastJoinExec 执行机制
    # ]9 i( J# h" n# p  |3 ?4 w: j, r8.5.3        ShuffledHashJoinExec 执行机制
    . I0 N4 Z2 m. T% K% c) l. Q8.5.4        SortMergeJoinExec 执行机制! y2 M- I( a4 C& W3 Z" m
    8.6 本章小结
    7 r! a3 F% |" R2 M. b$ J5 a第 9 章 Tungsten 技术实现* Q- B6 \" b* b* _4 f0 n6 f
    9.1 内存管理与二进制处理
    # F  F4 @7 {# a/ A9 @& ]" h+ ?1 H9.1.1 Spark 内存管理基础9 ~5 _5 X6 N; @$ m6 c* Y. T
    9.1.2 Tungsten 内存管理优化基础
    % f# o4 U+ N4 H! P9.1.3 Tungsten 内存优化应用
    2 @$ f, |6 [4 D* g' o. n% I4 @2 n+ R9.2        缓存敏感计算(Cache-aware computation)
    ) B; z5 w: C$ B/ D7 I# k+ d- C9.3        动态代码生成(Code generation)
    8 S) q( @- N6 L4 R% h3 f; D) i( Z5 V# c  G9.3.1 漫谈代码生成
    ! n- r4 Y6 N( b  P  R0 S9.3.2 Janino 编译器实践
    1 u4 }7 ^  F3 b$ S9.3.3 基本(表达式)代码生成
    ; _% c* A9 v. Y1 s9.3.4 全阶段代码生成(WholeStageCodegen)
    ! O# o+ F9 r! N/ [) G4 `% w9.4 本章小结8 W& w1 w% f# b; Q# b9 H
    第 10 章 Spark SQL 连接 Hive
      J/ g& Q( y. e" r$ ]10.1 Spark SQL 连接 Hive 概述6 k$ d" v" a9 f& Q% L& k
    10.2 Hive 相关的规则和策略
    , G& D9 e7 _8 t0 ?3 v. j* t10.2.1        HiveSessionCatalog 体系  [; }& L6 P+ P
    10.2.2        Analyzer 之 Hive-Specific 分析规则7 }' t9 i  D" j
    10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    # S# l5 S) P6 G0 P( \( o10.2.4 Hive 相关的任务执行/ H; ~; f/ a4 S
    10.3        Spark SQL 与 Hive 数据类型
    3 E  G. r# U' F* ]10.3.1 Hive 数据类型与 SerDe 框架0 I4 b' A0 K7 r* d" y6 Z. U
    10.3.2        DataTypeToInspector 与 Data Wrapping2 o! d& U( Y$ C
    10.3.3        InspectorToDataType 与 Data Unwrapping
    ( q8 p4 k( K+ x& \% x10.4 Hive UDF 管理机制
    $ S2 G' b& z% m9 [10.5        Spark Thrift Server 实现/ V0 ~6 ^4 V9 T4 r# g1 t' ]  F
    10.5.1        Service 体系
    javazx.com. c; a1 ~7 M8 g2 g, A8 O
    10.5.2        Operation 与 OperationManager
    / L* L0 t* Z& @- _7 ]: L10.5.3        Session 与 SessionManager
    ( J( D1 S2 h: }' x! n6 A10.5.4        Authentication 安全认证管理
    8 E- ~6 _$ O$ _* j- x1 q# V10.5.5        Spark Thrift Server 执行流程
    3 q: ~6 r( j3 \& G9 i% G; Z3 g/ s10.6 本章小结( H3 ]5 X( |. n" d/ W3 m
    第 11 章 Spark SQL 开发与实践/ ]4 n, F1 h  v9 K' N6 e
    11.1 腾讯大数据平台(TDW)简介
    ( q  R: t: w7 t, G/ b/ n11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)5 m; {3 p5 u* c+ \# Y/ }) @+ k
    11.2.1 SQL-Engine 背景与演化历程0 y/ A" t0 _2 y  W" {
    11.2.2 SQL-Engine 整体架构9 Z; Z( A! i4 o. \- w2 l
    11.3 TDW-Spark SQL 开发与优化
    ' \( q( K$ e4 O- W, a1 x  s11.3.1 业务运行支撑框架
    0 q/ y2 N9 _4 n+ B2 g11.3.2 新功能开发案例# D) }2 P. q, a0 `2 t! C( U5 s. _
    11.3.3 性能优化开发案例. p& Z0 B# K8 ]  Y. O1 F
    11.4 业务实践经验与教训  I  C! K& B0 |2 H
    11.4.1 Spark SQL 集群管理的经验( X7 x$ l7 v, A: Z3 I
    11.4.2 Spark SQL 业务层面调优
    2 s  e) P( R# R* j1 t* N$ s- B& ^11.4.3 SQL 写法的“陷阱”% C8 l2 T3 f( H9 v
    11.5        本章小结5 G; {2 e& n; f
    总结
    # T% m) T' X9 ~, F参考文献
    " ~: [. ]3 e! q- b
    Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】- T* k5 U7 ^* U* W' g! Q) R
    游客,如果您要查看本帖隐藏内容请回复
    # v/ X$ g4 s0 Z" l& [/ G

    / {0 }  J/ ~8 b/ C1 \

    0 E. f" @/ m* x. X+ M% L5 X; ~" ?  _& N0 _0 K

    5 W# ~- e8 Y8 o. W* o3 f) Z) w- Y) V: h4 F
    回复

    使用道具 举报

  • 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$ S- O$ L0 G

    5 G* i: u! B. L5 V谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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, 2024-5-8 15:43 , Processed in 0.133394 second(s), 40 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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