java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 40978|回复: 289

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66099

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

    发表于 2019-5-28 21:57:26 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Spark SQL内核剖析》" a( u+ g7 L% x( a, E) Q
    java电子书推荐理由: 经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark开源社区中*为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制进行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实开发案例与实践优化经验% u! C. j2 v4 i) b+ `5 }; B
    9 Z! P. {$ R" z! D5 p5 K/ u% S
    作者:朱锋
    7 X/ [  v3 B& ^1 t) z& O出版社:电子工业出版社
    % j) [) s; h8 I' ]& r出版时间:2018年08月
    ! y- f9 _3 S% `% Q  E  E书籍价格:69.0元
    " |1 `+ {' M2 P5 ]

    " _. B/ M! r# h) q 111.jpg
    3 m9 i% e. w& f& ?: U9 P5 \
    % s7 i$ S/ U! }/ P
    java电子书目录:& p/ u3 q6 h% }8 B% _
    第 1 章 Spark SQL 背景
    ( l5 e1 ]* i) O7 b1.1 大数据与 Spark 系统
    & O1 G% Z5 k2 E$ P- N" [1.2 关系模型与 SQL 语言3 J9 s4 L8 n3 \+ ~
    1.3 Spark SQL 发展历程! z& h7 }$ X: \% ?, H- R
    1.4 本章小结
    1 [  z) r/ r# p1 I第 2 章 Spark 基础知识介绍. j8 R  Y, P  {8 J
    2.1 RDD 编程模型
    % ?" c$ Z/ x$ t2.2 DataFrame 与 Dataset4 d3 }! i: @' ^' M( H
    2.3 本章小结  X, |1 g& ]# B; f+ M7 F- @# ?
    第 3 章 Spark SQL 执行全过程概述
    . `, |- W6 t! A2 e8 }# h, D3.1 从 SQL 到 RDD:一个简单的案例! z( h0 [) i, m# V7 |$ V
    3.2 重要概念, C/ U' S$ C# l5 t7 ~
    3.2.1        InternalRow 体系
    - l  M! t) w% y( |3.2.2        TreeNode 体系
    ) ?+ ]# g8 z8 S+ o6 E3.2.3        Expression 体系
    - n4 U; d8 d, }: B, n0 t" L( @- W4 s3.3 内部数据类型系统
    ; r9 F$ d5 k/ _5 l3.4 本章小结8 D. g, W; H; _8 h0 [
    第 4 章 Spark SQL 编译器 Parser
    * W4 _0 B& Q4 _& v3 m5 k; S4.1        DSL 工具之 ANTLR 简介7 b* H7 G# n+ W( P& P
    4.1.1 基于 ANTLR 4 的计算器
    # @( C) U) ~: G! N1 E9 P/ W4.1.2 访问者模式
    . _" d3 J- z7 M6 v4.2        SparkSqlParser 之 AstBuilder
    & e" E1 s; B5 f$ X8 J- r. C$ c4.3 常见 SQL 生成的抽象语法树概览
      y) {1 d+ u8 |" x2 A4.4 本章小结* Z1 u& N- V' b+ p
    第 5 章 Spark SQL 逻辑计划(LogicalPlan)1 N! _8 g6 t+ F9 W% y# h+ }
    5.1 Spark SQL 逻辑计划概述
    9 S' ^0 Q2 F  W7 E7 }5.2        LogicalPlan 简介
    * p# c2 e" N! X9 E5.2.1        QueryPlan 概述7 i9 I1 ?8 W6 @& `# M# }
    5.2.2        LogicalPlan 基本操作与分类( b7 ]! z9 ]$ x1 P! f
    5.2.3        LeafNode 类型的 LogicalPlan
    4 |/ @: T2 H- h7 J0 [5.2.4        UnaryNode 类型的 LogicalPlan
    , y& \3 l' W3 X# R0 g5 q' k9 [& n7 C5 P5.2.5        BinaryNode 类型的 LogicalPlan
      \: A' P' A# J! z" B# s8 Q% c5.2.6        其他类型的 LogicalPlan( [5 k/ B, R3 E# Z+ x+ R
    5.3        AstBuilder 机制:Unresolved LogicalPlan 生成4 B7 R) n! O7 l% u1 s! w7 k
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成
    ! |# y5 o+ t& m" w3 F/ d7 ~- d5.4.1        Catalog 体系分析1 f4 U5 C; |2 z
    5.4.2 Rule 体系
    . y& W4 }' l  K% r5.4.3 Analyzed LogicalPlan 生成过程
    1 }/ X! D6 g7 I5 L5.5        Spark SQL 优化器 Optimizer( T0 z1 H: U- o; Z1 v* W* C
    5.5.1        Optimizer 概述4 G: u' Z, e+ w% d. @! y# H
    5.5.2        Optimizer 规则体系
    1 ]9 z, Q9 o9 m% l( R8 k5.5.3        Optimized LogicalPlan 的生成过程2 S  p) V' |1 T/ J6 F3 p9 j
    5.6 本章小结
    ; f2 }) P9 L2 m- a第 6 章 Spark SQL 物理计划(PhysicalPlan)
    . ^5 a# H# C( R0 e  {) ~6.1 Spark SQL 物理计划概述
      a, R' _. S) N) C6.2        SparkPlan 简介, r; \( ^) G! A9 _( N
    6.2.1        LeafExecNode 类型
    * e% U* j; d+ t; Y6 W# p: _" F6.2.2        UnaryExecNode 类型
    7 E, |9 }+ `/ ?) S8 a5 I6.2.3        BinaryExecNode 类型- m. Z. X: c3 B
    6.2.4        其他类型的 SparkPlan/ O! ]7 [  l& z2 T1 I$ m
    6.3        Metadata 与 Metrics 体系
    ) k! `# U5 x; I! M0 i7 d6.4        Partitioning 与 Ordering 体系- S3 ^7 {* o+ e9 F1 |
    6.4.1        Distribution 与 Partitioning 的概念
    6 ~5 c2 Z. t7 |: ?8 m# H. D, Y6.4.2 SparkPlan 的常用分区排序操作  P/ U8 ^  ~6 m+ k
    6.5        SparkPlan 生成
    6 A' r) M/ ^% {6.5.1 物理计划 Strategy 体系
    ( b% X1 T2 x+ B; u! e& P8 h2 V/ W+ R1 ^* K6.5.2 常见 Strategy 分析
    , \- i; [  M. s0 U; ]6.6 执行前的准备, g4 L; V/ k6 E3 w2 i$ v( V# ]1 U
    6.6.1        PlanSubqueries 规则' `" i- w6 }9 F" B
    6.6.2        EnsureRequirements 规则5 G" \7 ]4 i( B) z( S# t+ [
    6.7 本章小结
    ) a7 K6 }4 [$ }7 c. Q- u第 7 章 Spark SQL 之 Aggregation 实现. T* Y& B4 |' y8 ]) G
    7.1        Aggregation 执行概述4 @: V6 @( w+ |! w4 g7 d
    7.1.1 文法定义
    . _% j. p. X6 B& w' P6 n7.1.2        聚合语句 Unresolved LogicalPlan 生成
    * E6 S' \0 t" G# T& H& t/ z- f7.1.3 从逻辑算子树到物理算子树
    " u! }( q+ Q) }( W' A8 O1 [3 b- F. A7.2        聚合函数(AggregateFunction)8 h/ F! t! G" C* k: M2 m, x, L
    7.2.1 聚合缓冲区与聚合模式(AggregateMode)
    1 j2 s- p" M+ V% l7.2.2        DeclarativeAggregate 聚合函数) ^  A* q& ^6 o' h" I" L
    7.2.3        ImperativeAggregate 聚合函数
    : t) p6 z& n* y5 x# P7.2.4        TypedImperativeAggregate 聚合函数
    " r" s) v# t8 Y6 ~7.3 聚合执行, Q- L5 n0 ]! f+ C. T0 U6 S
    7.3.1        执行框架 AggregationIterator
    + y3 i, ~2 N* `; U7.3.2        基于排序的聚合算子 SortAggregateExec: A0 P/ Z6 J. P. o1 ]' b# v
    7.3.3        基于 Hash 的聚合算子 HashAggregateExec
    4 c" P9 e0 m4 a7.4 窗口(Window)函数9 B0 P) o; I' ^/ v0 [
    7.4.1 窗口函数定义与简介
    : L3 t7 b7 A. c0 P! U7.4.2 窗口函数相关表达式
    ( ], ~. V) d9 R9 h8 n; {" {7.4.3 窗口函数的逻辑计划阶段与物理计划阶段# z& c: j& Y- s0 [+ o* S
    7.4.4 窗口函数的执行; F0 N& e) d! p) c) `% k2 h
    7.5 多维分析! V2 `7 t! \2 w; o2 p4 ]& s( F
    7.5.1 OLAP 多维分析背景
    5 u. `3 q' A5 S+ B7.5.2        Spark SQL 多维查询( l3 G% [4 A) u/ [# L+ w
    7.5.3        多维分析 LogicalPlan 阶段
    : I6 h, ~7 w- d% K) z$ O7.5.4        多维分析 PhysicalPlan 与执行
    ! N) o1 E2 _% X) y( g7.6 本章小结3 l6 c& Q  ^, Z" p1 B7 U- i
    第 8 章 Spark SQL 之 Join 实现
    ' D+ [; X1 p, r3 r# L: K3 r# o" R8.1 Join 查询概述
    % j3 w  Y9 k! J& V8.2 文法定义与抽象语法树& N5 E" n0 C! M, Z- M' t4 |$ i0 x
    8.3 Join 查询逻辑计划
    4 {- r0 D# E: z4 R* y" P9 u6 K: p7 p8.3.1        从 AST 到 Unresolved LogicalPlan$ u  W/ F$ l  @* T7 Y# {4 D0 s4 G
    8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan
    $ b; f+ N" |( X0 k, C- K2 J8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan( z* ?+ m7 ?9 b; u/ e( O
    8.4 Join 查询物理计划5 d) W( k/ l7 D" V
    8.4.1 Join 物理计划的生成
    , E3 \0 L! f  e( d% d3 z8.4.2 Join 物理计划的选取4 Y7 ~2 @) i+ `& x' _1 W
    8.5 Join 查询执行
    . v$ m! r! y# v; q3 S& [8.5.1 Join 执行基本框架
    + R2 x, ]. w1 C2 k; O; l8.5.2        BroadcastJoinExec 执行机制5 q. n( r8 d# A$ @3 D, Z5 e+ q; \
    8.5.3        ShuffledHashJoinExec 执行机制, n6 R4 I7 O, J
    8.5.4        SortMergeJoinExec 执行机制
    $ I* w$ e6 Q" _/ D6 E' n+ o7 Z/ r8.6 本章小结
    ' X: }# y* G4 n# J/ f第 9 章 Tungsten 技术实现: E- A8 x- t" M0 u
    9.1 内存管理与二进制处理3 ?, W0 L2 V9 i# ?) m7 k
    9.1.1 Spark 内存管理基础6 C' k' b9 T! ]) h- n' @- a6 x1 U
    9.1.2 Tungsten 内存管理优化基础+ m) n' }( t# ?8 k3 h
    9.1.3 Tungsten 内存优化应用! p' \& j* l  u$ m6 F8 v
    9.2        缓存敏感计算(Cache-aware computation)9 X4 `* q7 \; C/ l' u
    9.3        动态代码生成(Code generation)
    - _5 I% x5 E5 y4 U9.3.1 漫谈代码生成5 E  w! B& D5 J9 v% x
    9.3.2 Janino 编译器实践
    % i% Z7 \% ]& @4 Y6 L5 [8 p- k+ x0 q9.3.3 基本(表达式)代码生成
    % L1 \% Z9 I6 }0 C% R. [9.3.4 全阶段代码生成(WholeStageCodegen)
    7 t% D) b- N  z: Q' c: {9.4 本章小结  E* U) s* u  r) I4 K
    第 10 章 Spark SQL 连接 Hive
    % _( X' f/ m7 Y0 {' Y4 m0 i  A10.1 Spark SQL 连接 Hive 概述
    * d. S7 r3 _7 @: b; F10.2 Hive 相关的规则和策略% K4 v9 Y7 S+ K! W
    10.2.1        HiveSessionCatalog 体系
    1 ]# ?3 q/ p; [10.2.2        Analyzer 之 Hive-Specific 分析规则, u4 o" x2 U% K7 O& Y- j5 A
    10.2.3        SparkPlanner 之 Hive-Specific 转换策略* Q( R4 }( k. K0 l4 `
    10.2.4 Hive 相关的任务执行: Q* S: e( ^# N9 E0 `" ?% I
    10.3        Spark SQL 与 Hive 数据类型9 d0 z# L( v) Q; `3 e
    10.3.1 Hive 数据类型与 SerDe 框架
    & N+ K( L$ D8 j10.3.2        DataTypeToInspector 与 Data Wrapping6 p' w6 r! }3 {4 y1 Q# |6 D$ g8 A9 h
    10.3.3        InspectorToDataType 与 Data Unwrapping3 ~% E# n/ b% L3 E. \( F
    10.4 Hive UDF 管理机制
    ' d3 F6 f3 m8 z5 D" O/ t10.5        Spark Thrift Server 实现
    " A# A# a: C8 C# ^! G+ f$ o% v* P3 \  C10.5.1        Service 体系
    javazx.com* g8 {: g  y4 O
    10.5.2        Operation 与 OperationManager5 h1 u! B- B6 }# d
    10.5.3        Session 与 SessionManager! \7 a7 j$ G4 }( k) W
    10.5.4        Authentication 安全认证管理3 A' }* W( m1 P9 c+ g
    10.5.5        Spark Thrift Server 执行流程
    8 V. s6 L. d3 n& w10.6 本章小结
    & k' f5 ]# H- B5 T" m第 11 章 Spark SQL 开发与实践
    8 H7 ^; T# \+ m! ]# {11.1 腾讯大数据平台(TDW)简介
    . @8 p1 z& h* t6 X9 y11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)
    . G. }2 X2 l+ _4 n11.2.1 SQL-Engine 背景与演化历程/ r; s( ^/ \" y! W  m1 R6 D
    11.2.2 SQL-Engine 整体架构
    . a' m2 K8 j: l. c8 D: }5 Q11.3 TDW-Spark SQL 开发与优化
    * P9 }; J# `9 f8 E. G11.3.1 业务运行支撑框架( N0 R* q# g  Y
    11.3.2 新功能开发案例
    ( m, {  Q* L) H3 S0 F- f1 f11.3.3 性能优化开发案例6 e- n4 |( L- j+ A. }  G8 x
    11.4 业务实践经验与教训
    2 z! `7 a3 S# N11.4.1 Spark SQL 集群管理的经验
    2 z, j" @, m: G# N! q) ?11.4.2 Spark SQL 业务层面调优1 T' e2 K- T/ ~0 N5 W
    11.4.3 SQL 写法的“陷阱”
    5 G4 ~; Y  V0 V6 w11.5        本章小结
    ! J3 y) X' l2 [+ S9 @/ L总结
    2 @- o. ]! `% X/ k$ x4 |% k0 a参考文献
    6 j" Q9 h  [5 r4 [% S7 f  z
    Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】& R" K, E0 y9 [* N7 n6 I
    游客,如果您要查看本帖隐藏内容请回复

    4 q+ w3 t- v' x' c0 F! A
    * U" F0 q! l9 O4 H9 r

    ( F9 }" D( K* ?* K$ ]$ M1 _6 y8 A3 }7 l$ [

    $ k, d+ e% X  T  S) ?- G, c
    8 D$ D/ x. z2 b" J& e
    回复

    使用道具 举报

  • 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 | 显示全部楼层
    ' Z, L* h- G) W! e7 p' q. @: B

    ( U  z. ?. o$ v$ 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, 2024-4-28 02:23 , Processed in 0.147729 second(s), 38 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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