java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 47200|回复: 290

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

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

    [LV.Master]出神入化

    2039

    主题

    3697

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66471

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

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

    ; f5 e# m2 x, k0 [& G9 J5 n
    作者:朱锋
    ' a+ ^2 R/ u) n. x) z; M出版社:电子工业出版社
    2 J3 B& W3 w/ E  w) }出版时间:2018年08月
    8 B. r" h  F1 J! h/ |( d9 ]" z/ }  B! R; h书籍价格:69.0元

    # N* U8 D" k8 {( A. l! T" Z
      K5 r+ v% Q: @2 Q! r
    111.jpg
    + j4 o8 [1 h) o" T" h0 \  [

    % ?  R- I: H% m- X9 Rjava电子书目录:
    6 ]- b' F4 i3 d& a; D3 V
    第 1 章 Spark SQL 背景+ x6 Y+ r8 G+ y  u( M* n8 q! K, b0 l
    1.1 大数据与 Spark 系统4 s" K# n/ S) r' H6 |
    1.2 关系模型与 SQL 语言# u4 b) Q" Z$ {# r+ R% Q$ |
    1.3 Spark SQL 发展历程- ^' [+ @, }+ }1 h% Z/ S) H0 I: s
    1.4 本章小结5 c' x: d* |# `
    第 2 章 Spark 基础知识介绍" i1 ~( i: r( _0 J8 r" S
    2.1 RDD 编程模型
    , @/ _: R6 X" k' [$ }2.2 DataFrame 与 Dataset# {, z3 t$ F0 p- q. K
    2.3 本章小结
    / N. ?, R! e6 G第 3 章 Spark SQL 执行全过程概述+ t# o1 Q2 }8 b0 k8 W. }- J& z
    3.1 从 SQL 到 RDD:一个简单的案例2 l+ F9 t) ~- e' k
    3.2 重要概念, \, C0 A$ e' ?+ R( x
    3.2.1        InternalRow 体系
    ) Y  t( [" S2 r3.2.2        TreeNode 体系$ @( m" @' {# Q1 y* P( R
    3.2.3        Expression 体系* N4 ]; M' G) ~& m- \- r5 `
    3.3 内部数据类型系统% w) G0 N2 A. Y6 J& c7 x: Z# o# R. L
    3.4 本章小结
    & {6 b4 ]) B; z6 a2 V  V8 C* h第 4 章 Spark SQL 编译器 Parser' j$ i4 V: F. t, j2 q
    4.1        DSL 工具之 ANTLR 简介2 {  L9 \' k' z( }( Z& U/ B
    4.1.1 基于 ANTLR 4 的计算器
    " h- f8 F3 J9 P0 P0 \0 `7 C9 s4.1.2 访问者模式
    : K0 B' |8 w' R5 [' J: V4.2        SparkSqlParser 之 AstBuilder* i2 P3 P0 Q! G4 c
    4.3 常见 SQL 生成的抽象语法树概览
    ' m6 C* Y- `4 d4.4 本章小结
    & E- K: @! B1 f* \1 y: f2 [第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    $ w. \; p  r9 W3 j5 x5.1 Spark SQL 逻辑计划概述
    + F/ D7 v, @: y& u- j" l5.2        LogicalPlan 简介5 Q/ S/ `9 ^8 T& y1 R* e
    5.2.1        QueryPlan 概述: d5 K$ C5 f+ K( p& c
    5.2.2        LogicalPlan 基本操作与分类; h& N. Q% o7 H4 p9 T) A
    5.2.3        LeafNode 类型的 LogicalPlan
    % ~  K* y" l, l$ U; k5.2.4        UnaryNode 类型的 LogicalPlan
    / N( H" Q& x9 U' Z5.2.5        BinaryNode 类型的 LogicalPlan" q- Y3 ?" ~# L! A- ~, [
    5.2.6        其他类型的 LogicalPlan
    ; G* P7 V9 Y% c+ a5 A5.3        AstBuilder 机制:Unresolved LogicalPlan 生成
    : L" @: {. d+ y/ R/ L2 E5.4        Analyzer 机制:Analyzed LogicalPlan 生成8 a# [$ {- ]+ w& R3 q
    5.4.1        Catalog 体系分析4 {, A( U& a6 H$ }) z: l
    5.4.2 Rule 体系; g1 L( E# I1 f2 Q& `
    5.4.3 Analyzed LogicalPlan 生成过程) @% p$ Q. R) _2 z
    5.5        Spark SQL 优化器 Optimizer) c, D* m8 q1 t# ~
    5.5.1        Optimizer 概述
    . j$ V6 t6 H: n* E6 J5.5.2        Optimizer 规则体系- I7 _* S+ x* d. l& L" c
    5.5.3        Optimized LogicalPlan 的生成过程# l) ^: A% T0 q  S6 W
    5.6 本章小结  [+ k+ i4 f7 q2 F& Q9 F* s+ {0 Y
    第 6 章 Spark SQL 物理计划(PhysicalPlan)0 h1 |+ d( w6 ~2 A/ Q; b6 M# b
    6.1 Spark SQL 物理计划概述
    ' F% [6 R! Z# W7 n6.2        SparkPlan 简介2 y# S6 f6 m3 s1 A3 J% A% _
    6.2.1        LeafExecNode 类型/ q" h  U$ I4 P, Q5 D, t- Y+ @
    6.2.2        UnaryExecNode 类型6 H1 G/ p& a' C# Q9 s) X
    6.2.3        BinaryExecNode 类型# q5 W, F: y# j, J# ]% \2 g
    6.2.4        其他类型的 SparkPlan
    $ w7 M' k( C9 G: k, L. s6.3        Metadata 与 Metrics 体系
    8 N% L; s$ f. Q$ T6.4        Partitioning 与 Ordering 体系' v% M5 Y! R; [; v  m( _
    6.4.1        Distribution 与 Partitioning 的概念* O2 v  ?4 g$ q
    6.4.2 SparkPlan 的常用分区排序操作
    . I$ d/ j( S7 g; g' v7 ^6.5        SparkPlan 生成/ B3 B5 A) R0 i: E8 w4 W
    6.5.1 物理计划 Strategy 体系, k8 A0 E3 ?3 @* x  V
    6.5.2 常见 Strategy 分析
    ) w5 Z5 X* O: Y- {0 b' w6.6 执行前的准备
    ( M5 z' \+ h% G6.6.1        PlanSubqueries 规则( R- S! K0 V! r' Z# y: C
    6.6.2        EnsureRequirements 规则% ]3 j/ G" [. O
    6.7 本章小结
    % [. ]' z% L! S" I" d' }第 7 章 Spark SQL 之 Aggregation 实现
    - U& \4 `1 D6 B' r  m+ q- P; E/ ]8 s7.1        Aggregation 执行概述3 x6 J. G7 S3 ^/ [/ l0 B7 Q0 a2 S
    7.1.1 文法定义
    1 N) t& X/ p) U8 Q. U; |( x7.1.2        聚合语句 Unresolved LogicalPlan 生成
    + Q0 N1 i# {  j: ]: B6 o( j6 Z7.1.3 从逻辑算子树到物理算子树; J4 j, U) G* I* O, v. U
    7.2        聚合函数(AggregateFunction)$ }! p' X- H4 Q% a* W: s4 u
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)
    " W1 X3 H  o  x6 `& P' l3 U3 {' X8 s7.2.2        DeclarativeAggregate 聚合函数
    / W& b  e* H) c7 r- {7 s7.2.3        ImperativeAggregate 聚合函数  [9 b# v0 v# |* e: r+ v
    7.2.4        TypedImperativeAggregate 聚合函数. i/ y# L! r6 v4 I3 ~: L2 {
    7.3 聚合执行
    2 _3 s1 m- F6 p. \  @# I3 {+ K+ G7.3.1        执行框架 AggregationIterator  o( t  B( ~' ?! q
    7.3.2        基于排序的聚合算子 SortAggregateExec
    2 b2 ]% T7 e& X( G9 j' U7.3.3        基于 Hash 的聚合算子 HashAggregateExec, n1 W0 w' T7 ?; @3 K( A; W
    7.4 窗口(Window)函数
    * \1 H% s+ b  x1 H1 t7.4.1 窗口函数定义与简介3 W  d6 h* z6 t/ A( S# W5 n
    7.4.2 窗口函数相关表达式
    0 Q8 G; C1 F) I  z- ?& H: g$ ^7.4.3 窗口函数的逻辑计划阶段与物理计划阶段
    : v3 ^: l( {) k& F7.4.4 窗口函数的执行
    ' t, u% Z  C* V( Y: {, V. V7.5 多维分析7 |* n7 E+ k, U5 f! _" y& b5 _
    7.5.1 OLAP 多维分析背景* {( n2 G, t" ^
    7.5.2        Spark SQL 多维查询  e- `6 U# H. h  m
    7.5.3        多维分析 LogicalPlan 阶段
    ) ~" d7 X+ ?/ Y) V7.5.4        多维分析 PhysicalPlan 与执行% V+ y/ i4 H( }* \+ o  k
    7.6 本章小结' Q2 ^8 w% \. y) s
    第 8 章 Spark SQL 之 Join 实现
    3 ]8 d% o! s" V' f( q, ~8.1 Join 查询概述
    3 E# t  H1 R& R' X9 ?: O  w8.2 文法定义与抽象语法树  t% R! o$ r* q5 S+ U
    8.3 Join 查询逻辑计划0 V3 I( g- O- i1 B2 L& @5 r
    8.3.1        从 AST 到 Unresolved LogicalPlan2 h9 r9 z- D; j( F5 m' X% v# @
    8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan( p" I; C" h8 b3 D7 ?; L2 X1 ]
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan" A5 N7 l+ j9 N2 f" u. @5 s
    8.4 Join 查询物理计划
    + B: {, N$ \8 r' J- T- i# y$ N5 o8.4.1 Join 物理计划的生成
    ! h4 M: P3 I. D0 ]8.4.2 Join 物理计划的选取) F4 J) f9 [3 ^, ?- s
    8.5 Join 查询执行
    7 ^1 s( k% ?% E* r% |8.5.1 Join 执行基本框架
    ; ]6 Z3 i$ b1 T3 o; {: u- h8.5.2        BroadcastJoinExec 执行机制6 H( O( Y/ ~# V# `' p% ]1 f
    8.5.3        ShuffledHashJoinExec 执行机制3 b# R+ u" x* s1 l+ d. e
    8.5.4        SortMergeJoinExec 执行机制
    / N- D$ z( {5 ~7 @6 q8.6 本章小结
    3 p2 L0 ^- M! w; {! a/ _( I* P6 _2 t第 9 章 Tungsten 技术实现, i* ~& m- o) K, N
    9.1 内存管理与二进制处理
    3 G3 p& z# v" a2 C$ K# g9.1.1 Spark 内存管理基础
    ( L% o& [2 M3 l+ N, H' x9.1.2 Tungsten 内存管理优化基础
    : g4 v8 r" o2 x, E" T4 i7 g9.1.3 Tungsten 内存优化应用
    . t' p- u  u) F$ j/ k% I9.2        缓存敏感计算(Cache-aware computation)8 V6 p  G& K  L2 C- X! r
    9.3        动态代码生成(Code generation)
    0 X; j; j: |9 \. v; z9.3.1 漫谈代码生成
    4 V# D+ K; M0 j5 H& g5 B! }9.3.2 Janino 编译器实践: P: J7 o$ h5 m
    9.3.3 基本(表达式)代码生成
    ) W: B* H* c( S. Z4 ?% |' ?* I+ k) e9.3.4 全阶段代码生成(WholeStageCodegen). Z( V) P/ ]& S: F" y6 q5 D- I
    9.4 本章小结% b% H: T' ^6 m* a+ v7 k
    第 10 章 Spark SQL 连接 Hive' A) P: R# q, V% f5 }' G: }0 _
    10.1 Spark SQL 连接 Hive 概述
    6 g3 m5 |; n# D10.2 Hive 相关的规则和策略( E( T6 b$ P1 ?- {  X% M
    10.2.1        HiveSessionCatalog 体系
    $ d& L( z% S" P- }10.2.2        Analyzer 之 Hive-Specific 分析规则
    + U3 ^0 [$ j# ^& ?: `; s. }  S# P10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    , }; t2 ?+ e7 K0 R- I0 H10.2.4 Hive 相关的任务执行
    2 x8 {) F- \: y6 S) |  x4 O' u10.3        Spark SQL 与 Hive 数据类型
    ' s8 J6 D; W* c+ H& M+ u0 e! [10.3.1 Hive 数据类型与 SerDe 框架. w( u. d, i) }$ \
    10.3.2        DataTypeToInspector 与 Data Wrapping7 e8 C# I0 l( Y% }0 A
    10.3.3        InspectorToDataType 与 Data Unwrapping4 @% H0 w) B  e" N, ^! ~3 l4 g/ E
    10.4 Hive UDF 管理机制
    % M) O3 P2 p) o0 K10.5        Spark Thrift Server 实现
    3 B- K8 A+ y( a# n10.5.1        Service 体系
    javazx.com
    . H( C: Z/ e9 M$ |# j10.5.2        Operation 与 OperationManager3 D+ V9 o) Z# j6 b. x0 h
    10.5.3        Session 与 SessionManager
    , M4 P4 |6 C  g* U$ r3 L  L* d) ~10.5.4        Authentication 安全认证管理
    - o4 F5 ~. i1 a9 D10.5.5        Spark Thrift Server 执行流程
    & v9 E/ E2 I+ ^0 e" @10.6 本章小结
    & j  u4 E+ J' L9 G第 11 章 Spark SQL 开发与实践* I, H. j. ?1 ^& t  _8 l
    11.1 腾讯大数据平台(TDW)简介
    ( y5 t0 D! W8 A+ A& K5 t$ t11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)/ {' X# s0 `- A, ]0 W2 J: h; e' c( t
    11.2.1 SQL-Engine 背景与演化历程4 u& \( c5 p; j3 `2 `( e8 m) ]/ i, x
    11.2.2 SQL-Engine 整体架构
    , _% K% O0 u/ n11.3 TDW-Spark SQL 开发与优化$ L2 e9 c/ q. r/ Y: e# V( y
    11.3.1 业务运行支撑框架& g8 C8 T; n) A! u' t
    11.3.2 新功能开发案例
    6 r- z7 i& |6 I2 ^: ]11.3.3 性能优化开发案例
    ( w4 j3 h  a* Y! B6 l11.4 业务实践经验与教训# J, G" T/ [, {3 D
    11.4.1 Spark SQL 集群管理的经验4 {2 }  G) K7 ^+ @( g
    11.4.2 Spark SQL 业务层面调优
    7 x8 a' W. w7 D: m11.4.3 SQL 写法的“陷阱”
    " m/ c% O' k% D, P2 R11.5        本章小结
    ; P* f+ p/ J9 G总结
    ; |- q, K0 U! G4 X' c/ x* a参考文献
    ( Z1 }' Y0 J6 R; g
    Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】: P$ O) H1 G* T/ g, z/ N  x
    游客,如果您要查看本帖隐藏内容请回复

    ! N: v8 p0 e3 p; O3 P+ j3 O0 R9 \8 ?, T
    / J" ~. q5 ]' X4 t. u

    0 \7 r5 C% Y) n, X9 a5 f2 U' K3 _' T, A* v! F$ r$ R
    9 _2 k# s/ }" s4 P" x  Z
    回复

    使用道具 举报

  • 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 | 显示全部楼层
    ! N+ A" }3 F2 g% f) {

    ' Z" k: G: c# V2 T( U3 b* W谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-1-22 13:11 , Processed in 0.307789 second(s), 42 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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