java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 49758|回复: 291

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

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

    [LV.Master]出神入化

    2093

    主题

    3751

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66773

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

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

    9 m, ~2 m& {* I
    作者:朱锋
    / G5 E; i$ o& M9 G出版社:电子工业出版社
    : Z& z6 Z2 @. \" r出版时间:2018年08月
    * |( X% [& m; R* C% T书籍价格:69.0元

    . F* k( ~' c+ {; m; e; N/ e
    2 ^/ N" T) L/ H3 P. _
    111.jpg 1 M6 p/ H, ?) w+ ^  g

    ( {6 R7 T" R+ x' t( ?& ejava电子书目录:  i- B: x* w5 y: F
    第 1 章 Spark SQL 背景
    , }9 W$ b% Y+ E* e1.1 大数据与 Spark 系统8 b0 ?) a# D6 H. j* M' P
    1.2 关系模型与 SQL 语言/ u+ @( g8 R' Y$ e0 N  p
    1.3 Spark SQL 发展历程
    - b7 v( x& o; G; [8 V1.4 本章小结; H9 O# ?9 K1 i  l) Y
    第 2 章 Spark 基础知识介绍
    3 g" ?/ S: e1 J" y- G- _5 J2 }- V2.1 RDD 编程模型
    3 R, W& v. g3 J. O2.2 DataFrame 与 Dataset  C1 l: Y3 O& W' `/ q: a
    2.3 本章小结
    6 @4 G+ O5 {6 j: S第 3 章 Spark SQL 执行全过程概述
      m$ Q+ j* r0 ?4 S% w" W0 |, }' l0 s3.1 从 SQL 到 RDD:一个简单的案例) T( R! w1 M  S: x
    3.2 重要概念0 i3 J. N7 ~( S, |
    3.2.1        InternalRow 体系
    4 J! U( T* h: F* S1 C; ?+ X3.2.2        TreeNode 体系
    : W! H: j( u* t# q8 A( @7 S) U* h+ T3.2.3        Expression 体系* k, ]4 t9 @+ k0 @
    3.3 内部数据类型系统
    9 _+ g0 D# y4 X% i" \2 N( }. c% u3.4 本章小结
    - s, z2 Z3 m6 q7 i5 J, w第 4 章 Spark SQL 编译器 Parser# v$ @* j1 ?" F0 ^. [: H
    4.1        DSL 工具之 ANTLR 简介. H0 {6 ?+ [- i3 m# w7 c$ r( U- r
    4.1.1 基于 ANTLR 4 的计算器
    7 p* A" m' l. i4 {( u, M& }2 w4.1.2 访问者模式
    % P7 C" T: Z1 z; ^4.2        SparkSqlParser 之 AstBuilder
    + ]5 z, E0 X2 d* j- a; B" d4.3 常见 SQL 生成的抽象语法树概览
    0 e0 Y6 X3 {0 k4.4 本章小结$ _8 n. Q+ p4 A$ o/ W" Z& Y6 O
    第 5 章 Spark SQL 逻辑计划(LogicalPlan)0 f7 s6 f$ ?( S
    5.1 Spark SQL 逻辑计划概述: K9 O. [" @* B$ R: \
    5.2        LogicalPlan 简介! \, h9 V) r, M6 c4 I' E
    5.2.1        QueryPlan 概述
    5 Y9 K" Y- Q& Y' R2 V: Q5.2.2        LogicalPlan 基本操作与分类
    : p& {2 `1 D  k  ~# J. Q* M( B: H5.2.3        LeafNode 类型的 LogicalPlan
    4 d- v) D1 ^0 m5 j5.2.4        UnaryNode 类型的 LogicalPlan+ \+ @# r1 ~% O$ }" L( `9 T
    5.2.5        BinaryNode 类型的 LogicalPlan
    / O- D; t4 M9 ]* ]% ]5.2.6        其他类型的 LogicalPlan
    " V: B9 ?; m, s. S8 v. _5.3        AstBuilder 机制:Unresolved LogicalPlan 生成+ n% {+ |9 g* G* G! }8 I( I2 e
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成" d" L. I, v$ |! M$ T- t
    5.4.1        Catalog 体系分析
    , w% I; q3 M1 P8 R$ b" L" R* Y5.4.2 Rule 体系. x5 [. t5 K: Y+ U) Q6 v6 U
    5.4.3 Analyzed LogicalPlan 生成过程0 w3 Y8 b% m9 ^% n9 L; |  @
    5.5        Spark SQL 优化器 Optimizer
    ; |' A; Z; r; W6 r* [4 ^: B* h3 z2 ^5.5.1        Optimizer 概述  z6 v: z8 }! |. t! V# W
    5.5.2        Optimizer 规则体系
    " W# Z% A) m& _5.5.3        Optimized LogicalPlan 的生成过程
      w: h* J# W& [( F5.6 本章小结
    $ A, E+ D( v# Q3 G6 Q; c' n% m第 6 章 Spark SQL 物理计划(PhysicalPlan)1 O( s4 K& M( }5 s' v8 |
    6.1 Spark SQL 物理计划概述
    ! ~' @+ i" F8 `* Y5 n6.2        SparkPlan 简介* x* ~8 g+ S0 ^% M" G1 {& z
    6.2.1        LeafExecNode 类型
    4 E( J+ l" |0 e, D4 J0 s* N6.2.2        UnaryExecNode 类型
    : ^) B+ W' _. [6.2.3        BinaryExecNode 类型7 V2 h+ ]+ H* t! ^2 b. l' @
    6.2.4        其他类型的 SparkPlan7 @/ J( l) A1 E$ _+ C% M4 |0 f1 p- ?8 r
    6.3        Metadata 与 Metrics 体系
    ( w( V# O+ U, Z9 t7 g! n6.4        Partitioning 与 Ordering 体系
    6 ~: w+ m  z; \6.4.1        Distribution 与 Partitioning 的概念
    0 r' `! m+ r- {5 c6.4.2 SparkPlan 的常用分区排序操作
    6 v" k7 {- W- l+ f% R$ S1 X. g6.5        SparkPlan 生成1 i& {0 Y0 }+ I0 k
    6.5.1 物理计划 Strategy 体系; X; K+ d1 M% q  f$ h% C
    6.5.2 常见 Strategy 分析
    . Y% O, H1 s" v7 s- ?1 Z6.6 执行前的准备1 M: r( j, j2 d7 b4 T
    6.6.1        PlanSubqueries 规则
    0 z! z3 B" q3 n2 D. I3 h6.6.2        EnsureRequirements 规则4 X3 }; V% w' i9 N
    6.7 本章小结
    : b# D" f, E( ], I第 7 章 Spark SQL 之 Aggregation 实现% ?, ~) H5 O! s+ W3 @
    7.1        Aggregation 执行概述
    2 x& ~6 X5 k# t7 v$ B# b  ^" m7.1.1 文法定义: r2 y* }% T6 D$ I  {( y0 t0 y5 E
    7.1.2        聚合语句 Unresolved LogicalPlan 生成1 u" {2 o$ P. v& Q3 B' Q2 t
    7.1.3 从逻辑算子树到物理算子树
    * P" h5 ~; L% g8 v4 f8 X7.2        聚合函数(AggregateFunction)( @! D* y& |7 q0 ~- d! t2 M8 Z
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)4 s3 T* j0 m! @  W9 a9 M
    7.2.2        DeclarativeAggregate 聚合函数2 q/ V6 r, i- P6 A$ Q) y. @8 n
    7.2.3        ImperativeAggregate 聚合函数
    / l9 {$ W, q; }! w$ r7.2.4        TypedImperativeAggregate 聚合函数6 E3 m/ Y# r, b
    7.3 聚合执行
    2 i+ `: ^: W  a9 n, O3 e7.3.1        执行框架 AggregationIterator
    ' y1 |7 `) Z: I& t% d& W7.3.2        基于排序的聚合算子 SortAggregateExec8 I& g! i% @( D: a  `, m7 q: h
    7.3.3        基于 Hash 的聚合算子 HashAggregateExec
      E1 {5 v9 t  a! g% _7 p; X" i: x: }7.4 窗口(Window)函数* b" H6 d! [& L6 P; R! f( M
    7.4.1 窗口函数定义与简介
    / q9 o3 z! J0 B5 K& N7.4.2 窗口函数相关表达式" J6 K) l( p" r2 v2 K
    7.4.3 窗口函数的逻辑计划阶段与物理计划阶段2 W! g1 a* d! j; E' {5 [* b* }
    7.4.4 窗口函数的执行4 j$ @3 j/ b; O9 @
    7.5 多维分析
    7 _( q- i- d! w7 k  M7.5.1 OLAP 多维分析背景5 i! C! a% V' o- T7 J4 P
    7.5.2        Spark SQL 多维查询
    7 B8 ^4 Q" B, z) C: ?7.5.3        多维分析 LogicalPlan 阶段- G  p/ z9 v, e: q& z6 P7 B! W
    7.5.4        多维分析 PhysicalPlan 与执行1 ]9 Y- Y& Y  K5 M6 |3 B+ w7 r
    7.6 本章小结4 J# Y0 Y1 J* g$ {
    第 8 章 Spark SQL 之 Join 实现6 D& n& x' ^$ u; V9 B* y
    8.1 Join 查询概述: w* T9 t$ L) g2 k! A
    8.2 文法定义与抽象语法树6 J/ _0 k# y4 M" g
    8.3 Join 查询逻辑计划1 Z+ Q0 M- g- u1 |+ T
    8.3.1        从 AST 到 Unresolved LogicalPlan1 P1 k& P5 h" B1 n3 v; D' {" s5 {
    8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan
    6 P( V& j& F. }% s8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan" `" X; n- x8 [# U
    8.4 Join 查询物理计划
    5 I+ \9 i3 |" }1 L8.4.1 Join 物理计划的生成4 C: J# N" q7 M& i7 w
    8.4.2 Join 物理计划的选取
    9 b7 B% o5 Y# _3 i8.5 Join 查询执行; _' O# r# o9 f1 a) o  S
    8.5.1 Join 执行基本框架
    0 X) Y" W7 V; J& V, o: Z9 W8.5.2        BroadcastJoinExec 执行机制
    ' D7 X$ T( `" n8.5.3        ShuffledHashJoinExec 执行机制
    , y3 \( m3 o6 a2 @* r8.5.4        SortMergeJoinExec 执行机制
    + [5 `0 ^! e( }% C$ }4 `8.6 本章小结* l- D2 M0 [' [& g) Y7 M( y4 V: j& y: w
    第 9 章 Tungsten 技术实现8 v* r+ `9 v- E' j
    9.1 内存管理与二进制处理' h, W& T) F, F# a! {+ v$ g
    9.1.1 Spark 内存管理基础0 e- u) Z& O1 l) B# Y; W1 i
    9.1.2 Tungsten 内存管理优化基础
    . m/ v6 n4 n3 ^/ p9.1.3 Tungsten 内存优化应用; X! U: M# {# O$ O. l  \6 A, n" c2 p% W
    9.2        缓存敏感计算(Cache-aware computation)0 W1 l, u& e) O& ^/ \5 T1 y
    9.3        动态代码生成(Code generation)
    ; g4 w( _/ a( _: T9.3.1 漫谈代码生成
    0 D7 ?, \' J/ P1 d9.3.2 Janino 编译器实践8 K+ j! T+ T1 s3 X% H# L
    9.3.3 基本(表达式)代码生成
    7 G/ g5 b' n1 A1 G: V2 w. K9 b9.3.4 全阶段代码生成(WholeStageCodegen)
    / p9 G6 s" \: ?. ?. b2 E& [1 @9.4 本章小结
    4 K' P. ^' `% \/ L3 P第 10 章 Spark SQL 连接 Hive# m) q9 _, o. v! T+ [
    10.1 Spark SQL 连接 Hive 概述. G; j0 B. L; A7 i, ~. S; b
    10.2 Hive 相关的规则和策略
      E2 `5 o! R8 F& R10.2.1        HiveSessionCatalog 体系
    9 u/ o) ^. m! L# e/ h+ t, ]10.2.2        Analyzer 之 Hive-Specific 分析规则
    * \# f7 K+ c% a& c& t10.2.3        SparkPlanner 之 Hive-Specific 转换策略5 p4 Y% H, }' U, p+ j% F
    10.2.4 Hive 相关的任务执行
    1 V7 F" h1 _$ N7 O: ?" ~* e/ F: f0 N6 d10.3        Spark SQL 与 Hive 数据类型
    5 Z$ F& B! V$ E4 Z& m/ d10.3.1 Hive 数据类型与 SerDe 框架
    2 e6 C- c: k) w3 S  H10.3.2        DataTypeToInspector 与 Data Wrapping! T' f5 h2 }9 ?: H1 Y$ @- W
    10.3.3        InspectorToDataType 与 Data Unwrapping* }5 i/ Y: F8 Z! D4 V
    10.4 Hive UDF 管理机制
    . c* Z' s' r/ |$ h) Z+ c* K4 v" P10.5        Spark Thrift Server 实现
    : P4 W& v" ]4 p" R% J: L5 ?10.5.1        Service 体系
    javazx.com
    6 o7 I) O& A# w( C10.5.2        Operation 与 OperationManager
    ; H; W6 g  S' b10.5.3        Session 与 SessionManager  i! }) T& J1 f  R
    10.5.4        Authentication 安全认证管理" z" g" ]7 i( K
    10.5.5        Spark Thrift Server 执行流程
    ; t& v9 m0 r3 @/ O1 c' G- i10.6 本章小结6 q3 b/ l2 `( g1 M9 K) a( i
    第 11 章 Spark SQL 开发与实践- q0 }$ z) {. `* ]* J
    11.1 腾讯大数据平台(TDW)简介8 y- N9 D% u4 ]
    11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)& w; t# `' e: m$ s7 O( }3 K
    11.2.1 SQL-Engine 背景与演化历程
    / _# L+ j/ o; ^6 J11.2.2 SQL-Engine 整体架构* p9 }- S+ t1 Q, \  y* c
    11.3 TDW-Spark SQL 开发与优化' ^9 d+ J8 A* m& \$ u; c( N! X
    11.3.1 业务运行支撑框架
    8 Z9 `7 M! y0 m+ c9 e" v11.3.2 新功能开发案例
    - N- w6 u, Q* K$ x11.3.3 性能优化开发案例
    2 o: K& ~* G8 j) b* V: @0 `11.4 业务实践经验与教训, A) {% ]5 [  ^4 j2 y$ E* R
    11.4.1 Spark SQL 集群管理的经验" R0 ~! Y2 `  E
    11.4.2 Spark SQL 业务层面调优
    1 A6 X/ A! z& B11.4.3 SQL 写法的“陷阱”6 [5 U! l# _- d3 o6 Y
    11.5        本章小结) L' j. m, |" w, G
    总结
    7 D# z$ r7 g  e" Y( Q参考文献

    + H# s. B4 K  F* u* u8 iJava资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】
    % v) J; _, f3 l1 d) c
    游客,如果您要查看本帖隐藏内容请回复
    7 _7 `1 {+ a/ V5 _4 ~  W

    6 ^( w! F5 @) U3 T% s5 s

    ; W  I8 G2 T4 h3 O
    . H! K6 v( a( E4 p9 o  V! \! }- W/ @

    / Q( V& T0 @! Q- Q5 a
    回复

    使用道具 举报

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

    0 ^7 l9 |: U( g2 p. U, m
    ) s% ^6 b) @- c谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-29 08:33 , Processed in 0.200397 second(s), 39 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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