java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 49933|回复: 291

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

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

    [LV.Master]出神入化

    2099

    主题

    3757

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66805

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

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

    2 L1 A9 ~3 D/ ~: [% X
    ' n# ]$ p- ^6 A  ~" _: b" I
    111.jpg 3 ^- B: i* f' |  ~! ~, z
    + r( ~9 |: g3 r- z
    java电子书目录:
    7 y* j& z7 c" C8 ?' d7 k
    第 1 章 Spark SQL 背景# O/ F) U( Q* }
    1.1 大数据与 Spark 系统
    4 n  _* b& h6 G4 Y" a1.2 关系模型与 SQL 语言+ @; ~' V; g2 d( ~3 g9 {
    1.3 Spark SQL 发展历程( r8 U: O5 |9 _2 P7 G9 N6 D2 m8 Q
    1.4 本章小结
    8 l( E6 H/ r  Y第 2 章 Spark 基础知识介绍
    ) K7 j+ P2 a( w! s3 e! X2.1 RDD 编程模型8 D5 c9 [% \* g1 L
    2.2 DataFrame 与 Dataset$ j* }" B# T( g. t/ \* o0 J
    2.3 本章小结
    7 l+ R/ X1 ^. ?( @" w& Y第 3 章 Spark SQL 执行全过程概述
    ( e+ ~+ B& x7 W3.1 从 SQL 到 RDD:一个简单的案例3 Z: q. M! a: b2 J. j' g6 B: A
    3.2 重要概念) v- B* d/ l9 n0 J* [0 h
    3.2.1        InternalRow 体系
    * A, |( b* }* z; K5 S% T+ [3.2.2        TreeNode 体系
    ! p1 @* P- ?0 Y) B; V+ m3.2.3        Expression 体系! d( g+ w, B- N! ~! H) P' U8 x
    3.3 内部数据类型系统4 `, g+ ]6 U& Y' S
    3.4 本章小结- |; X& p$ o( [- Q' _. P
    第 4 章 Spark SQL 编译器 Parser5 ^9 O- i% c, t6 c( _% @1 |
    4.1        DSL 工具之 ANTLR 简介! Z; K  R# t; e# W& }
    4.1.1 基于 ANTLR 4 的计算器4 g. y. x7 k% X; w1 o' M
    4.1.2 访问者模式0 r  s8 w* m1 a% ^& Y7 p* \, F/ U
    4.2        SparkSqlParser 之 AstBuilder$ b1 q1 z& j& x) q
    4.3 常见 SQL 生成的抽象语法树概览
    1 M1 {6 q; E; |) i4.4 本章小结# {( ]( b) @* t$ e* R0 X4 Z$ I
    第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    ; L% v  H0 D, d0 B6 r' w+ S$ }& I5.1 Spark SQL 逻辑计划概述' [+ s, @! X. }* O& p& @
    5.2        LogicalPlan 简介
    + J/ `1 @& C7 y. a2 A7 l" q5.2.1        QueryPlan 概述+ T7 W% m4 z- J
    5.2.2        LogicalPlan 基本操作与分类/ r) \4 f" Q: g( {+ R3 }9 S1 d
    5.2.3        LeafNode 类型的 LogicalPlan
    ( C: W. n3 R: O, \& d$ `5.2.4        UnaryNode 类型的 LogicalPlan
      x5 @: }2 z# _8 ]: O$ p0 W* O- L5.2.5        BinaryNode 类型的 LogicalPlan# y3 W" S' I7 O# x7 Q6 [3 X# F
    5.2.6        其他类型的 LogicalPlan
    & q' J7 _2 U( ]- q% d5.3        AstBuilder 机制:Unresolved LogicalPlan 生成& B# `$ y0 h7 [& `$ |
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成
    $ U: P# |$ y8 N. j* h5.4.1        Catalog 体系分析& G$ t" C- J( Z( X- ~1 ~
    5.4.2 Rule 体系9 O5 v6 j$ C8 K( g  U  f) q
    5.4.3 Analyzed LogicalPlan 生成过程+ f6 _+ X5 k0 B0 e4 J
    5.5        Spark SQL 优化器 Optimizer8 ~+ C2 [: j5 i( Y8 J7 L& x! n3 @4 F" t2 u
    5.5.1        Optimizer 概述' P" J( f! n5 T, V
    5.5.2        Optimizer 规则体系  {2 q' g4 C* A5 y/ {7 b- K- A
    5.5.3        Optimized LogicalPlan 的生成过程
    - E  o+ {* B0 g  [5.6 本章小结: ^  ?$ l) M2 `7 q: s# r6 y$ P
    第 6 章 Spark SQL 物理计划(PhysicalPlan)- O) M9 ^$ ~3 @7 W) b/ i/ q
    6.1 Spark SQL 物理计划概述
    2 ~, B2 |7 ]4 h, @$ B7 M( W, Z; j! R5 a6.2        SparkPlan 简介
    6 l, f3 G4 W; g/ ?* ~3 g& A8 @$ h6.2.1        LeafExecNode 类型1 H7 A; }* Z5 [& X3 _5 U6 b+ J
    6.2.2        UnaryExecNode 类型+ w4 c$ v3 J/ t* _  O) F
    6.2.3        BinaryExecNode 类型
    8 B! _* |4 P: M6.2.4        其他类型的 SparkPlan1 q" Z/ y7 O$ c9 f- t( t3 `6 {! _
    6.3        Metadata 与 Metrics 体系
    . ^7 l/ W6 L, ]/ h) _6.4        Partitioning 与 Ordering 体系
    , _2 s& Q# i& Q6 p6.4.1        Distribution 与 Partitioning 的概念
    $ U+ R) E" ^) S( C9 p$ l/ v0 {6.4.2 SparkPlan 的常用分区排序操作# {* K2 @# ~% W1 t$ E' |5 U% A
    6.5        SparkPlan 生成1 Z+ T3 f+ ]! W
    6.5.1 物理计划 Strategy 体系+ u& }9 z- C5 A6 E/ s* D* Q' B5 W
    6.5.2 常见 Strategy 分析
    7 d9 ]0 C; _! g( m6.6 执行前的准备
    : k% \; r8 w' S! w7 c) n2 Z; X( U6.6.1        PlanSubqueries 规则
    + ?& F% u: N* g% }6.6.2        EnsureRequirements 规则
    : [: b0 @+ q. X; ^" ~9 O6.7 本章小结$ _: r. y) T. R9 S
    第 7 章 Spark SQL 之 Aggregation 实现6 q, {5 o8 _5 }2 X: e4 S. c7 G- B9 f
    7.1        Aggregation 执行概述" L; p! k$ Q7 d/ F3 U7 Q
    7.1.1 文法定义
    7 K. n7 r- i0 Y# c3 ^7.1.2        聚合语句 Unresolved LogicalPlan 生成  O  R- A. S2 o) t
    7.1.3 从逻辑算子树到物理算子树
    . z/ \7 S$ a+ N4 X( v/ ~0 [* c7.2        聚合函数(AggregateFunction)& ?0 g5 \6 }: U' `' u) C, \- k
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)
    7 q& y3 q- V; V9 b! ^8 t7.2.2        DeclarativeAggregate 聚合函数% d7 o: l3 G$ B+ M# Z5 j  r/ v2 N
    7.2.3        ImperativeAggregate 聚合函数
    1 n+ ~( H4 W) a  q# A7.2.4        TypedImperativeAggregate 聚合函数
    . p# d& H0 ]5 F$ _9 R7.3 聚合执行0 x8 x4 _7 l" K7 {; h* [* g
    7.3.1        执行框架 AggregationIterator" C0 o6 B! q  e! ~
    7.3.2        基于排序的聚合算子 SortAggregateExec/ ~4 w& ~% ~9 q1 W
    7.3.3        基于 Hash 的聚合算子 HashAggregateExec0 y4 ?' U3 P2 y$ Q# |
    7.4 窗口(Window)函数$ i* b& m$ L" l, f3 T! H' {: b- m  L
    7.4.1 窗口函数定义与简介
    . H, m$ G7 E' C! h5 h7.4.2 窗口函数相关表达式
    0 o% `. j" _- C! j1 T5 _- t7.4.3 窗口函数的逻辑计划阶段与物理计划阶段
    1 j( e' i1 _" \% @7.4.4 窗口函数的执行
    3 F) O7 @, r+ c. b2 r0 x7 ]7.5 多维分析1 ^/ N) f* G* l  J" G; C6 l
    7.5.1 OLAP 多维分析背景% W: B/ d5 a  T% H  }# B
    7.5.2        Spark SQL 多维查询
    % R2 e- D+ x" a' Z3 H  U7.5.3        多维分析 LogicalPlan 阶段
    9 t- ]1 L6 o' G7.5.4        多维分析 PhysicalPlan 与执行$ h) u5 U9 k+ X5 s0 N
    7.6 本章小结% M# s- D# ~4 {! n- v
    第 8 章 Spark SQL 之 Join 实现
    - w' C' N+ o, ]7 t! `, u8.1 Join 查询概述
    - p3 l- x* B( f5 E6 ]1 l; R8 L8.2 文法定义与抽象语法树/ Z* \- j% l7 @, s9 j# x
    8.3 Join 查询逻辑计划7 E6 m  D- y8 n# P6 h
    8.3.1        从 AST 到 Unresolved LogicalPlan
    9 W( r- d+ L  k8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan$ z1 D3 W* F% |. c9 G9 _% Q9 `
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan3 w, t  u) ^7 ?2 ~3 M
    8.4 Join 查询物理计划
    ( k* D1 V9 ~! l7 ]. E8.4.1 Join 物理计划的生成
    9 V; M! H7 t9 ]8.4.2 Join 物理计划的选取
    1 d" V$ J: U! r/ E& o8.5 Join 查询执行" s- c, |3 {; P" ?0 L# D6 c2 \
    8.5.1 Join 执行基本框架
    1 y3 i4 p6 B, O7 G4 P& ?8.5.2        BroadcastJoinExec 执行机制" A/ t+ Z  U1 M4 a
    8.5.3        ShuffledHashJoinExec 执行机制7 k) m2 u% g, s+ v. c
    8.5.4        SortMergeJoinExec 执行机制+ U0 _% W& ~: x5 y* I# v3 S9 ?
    8.6 本章小结
    / b0 G+ |' b3 B  ^5 s6 l1 h第 9 章 Tungsten 技术实现
    2 o% [6 }  X& {' ?: ]' p+ l( Y9.1 内存管理与二进制处理
    # R9 z9 y  i/ R2 |) `9.1.1 Spark 内存管理基础3 r( V7 W4 J  W' k! w$ `
    9.1.2 Tungsten 内存管理优化基础7 W' }+ i1 x& ~# p' g$ q- ]
    9.1.3 Tungsten 内存优化应用( |3 p4 z- `/ ]# X7 u0 r. `
    9.2        缓存敏感计算(Cache-aware computation)8 K4 A3 t8 E( Q2 M+ K6 C$ A
    9.3        动态代码生成(Code generation)
    * v! D/ B* s* L0 V9.3.1 漫谈代码生成; F& x! [. `4 h& U% q+ E/ Q
    9.3.2 Janino 编译器实践$ @9 O" ]9 T3 l; m
    9.3.3 基本(表达式)代码生成
    , W1 y9 d' Y( g' d9.3.4 全阶段代码生成(WholeStageCodegen)3 L' J( F% e( c% k2 g9 S
    9.4 本章小结
    . x6 v) K% q; \8 C9 H2 }, Z( x第 10 章 Spark SQL 连接 Hive. w) d6 C0 U; E1 f0 ^
    10.1 Spark SQL 连接 Hive 概述* ^) ~. ]4 P7 {$ {
    10.2 Hive 相关的规则和策略4 [7 I4 c$ r( b, {4 C1 {" X
    10.2.1        HiveSessionCatalog 体系
    9 U0 H7 \0 E0 C# C- b! L; O2 G. i, b* d10.2.2        Analyzer 之 Hive-Specific 分析规则
    ) ?6 V# Q- g- Z; N7 g* M10.2.3        SparkPlanner 之 Hive-Specific 转换策略! j  x& }4 v+ K+ w* i1 x; U
    10.2.4 Hive 相关的任务执行' M  i' x+ `6 m: i, S
    10.3        Spark SQL 与 Hive 数据类型$ B& C9 B& W  n4 U
    10.3.1 Hive 数据类型与 SerDe 框架
    4 D3 }( _% ?  A( V" n+ q10.3.2        DataTypeToInspector 与 Data Wrapping( H8 j+ E& W) M8 {: F* ^8 I4 K
    10.3.3        InspectorToDataType 与 Data Unwrapping* b0 b6 }: g8 v" ]
    10.4 Hive UDF 管理机制
    # \1 y- T# r; g10.5        Spark Thrift Server 实现
    ! y" t5 O  N1 A# L9 P* [10.5.1        Service 体系
    javazx.com& l* i2 M: n+ Y2 j% L+ \& ]+ E
    10.5.2        Operation 与 OperationManager: @$ m: b1 h! M* l6 _6 j
    10.5.3        Session 与 SessionManager2 t# J$ E1 s4 V  ^2 ^$ }  ^
    10.5.4        Authentication 安全认证管理
    7 h/ N" _& ^) b; l9 {% Q" _10.5.5        Spark Thrift Server 执行流程
    " S6 q; y, s* K7 w8 L3 J10.6 本章小结; e! I* z; f* P8 h+ u2 B
    第 11 章 Spark SQL 开发与实践6 ~* c9 M' R- K4 ]
    11.1 腾讯大数据平台(TDW)简介
    - Y& V; l/ Y2 M; _! S9 O0 m9 t11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)" {8 U) G8 p0 Z: t5 Q
    11.2.1 SQL-Engine 背景与演化历程/ T* L* ~9 _9 w: r
    11.2.2 SQL-Engine 整体架构9 F- H! W5 l/ V7 L% P6 X
    11.3 TDW-Spark SQL 开发与优化: s& g8 \2 d% f: C0 t
    11.3.1 业务运行支撑框架
    * I+ ~7 b7 C* B4 W0 p11.3.2 新功能开发案例' L4 h( {, u: w, E+ n, O* N( ~
    11.3.3 性能优化开发案例$ r5 I0 F* b0 Y, X$ G& v
    11.4 业务实践经验与教训
    % Y7 m# O$ z" B+ N11.4.1 Spark SQL 集群管理的经验7 O, c4 l4 Q9 y; J0 m( P
    11.4.2 Spark SQL 业务层面调优
    ! A/ R  m8 b" |; e11.4.3 SQL 写法的“陷阱”5 U7 C: P! {# J# D
    11.5        本章小结
    * g: S3 ]# |( t( j总结% O4 {: W4 j) ?  Q, l3 \6 A2 E
    参考文献

    , l& r  k  e; b2 L8 L+ eJava资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】/ ~( ]* S' k- h: r* u6 [( \
    游客,如果您要查看本帖隐藏内容请回复

    - _& W2 f" `, }6 P7 a0 x/ n0 _/ L. Y0 J# G/ g( n

    1 y) y  v9 A4 w" y; b4 x2 K2 ~2 W/ x& @7 P5 \

    , b% l7 o+ g7 S, L
    . a8 ~- i& F) `+ {" C: \8 ?
    回复

    使用道具 举报

  • 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 | 显示全部楼层
    * b3 W. V; i# j4 Q
    % V# z$ c0 p6 V9 K' S% q: F
    谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-4 10:57 , Processed in 0.369023 second(s), 43 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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