java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 48191|回复: 291

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

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

    [LV.Master]出神入化

    2061

    主题

    3719

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66587

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

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

    6 s( Q, L# L2 u
    作者:朱锋
    " Q0 o! |% k, C( ?3 ?出版社:电子工业出版社
    * o2 A: C! C' w  W, Q出版时间:2018年08月
    # g/ H* {8 ?/ T书籍价格:69.0元
    9 j4 |& ~! [: ?5 i9 M3 d. U: d2 z/ \
    $ `& k# _9 h, K, r9 u$ C
    111.jpg
    , S" h4 P7 ?8 _6 \3 E( r

    8 Q+ R  n! E  K4 Rjava电子书目录:
    " o3 X! o, t7 x! x" A0 s* F# V
    第 1 章 Spark SQL 背景$ m1 f$ D' p/ [
    1.1 大数据与 Spark 系统
    ' t% e+ _0 l. N9 h* l" v! ]3 x0 X1.2 关系模型与 SQL 语言
    - ]' i/ Q* Z# S5 E  L1.3 Spark SQL 发展历程
    9 L( @; m  B; \3 B! P0 b6 I1.4 本章小结$ J! B+ _* v3 J) f3 {
    第 2 章 Spark 基础知识介绍2 Z7 I3 S. A+ H1 ^) ~; d# n
    2.1 RDD 编程模型2 N6 q7 d; w: S( j9 k) E
    2.2 DataFrame 与 Dataset
    2 y. c. [9 P0 Z$ ]' \$ G7 o2.3 本章小结
    ; c: t  w! x/ K. K- `# z7 W3 |第 3 章 Spark SQL 执行全过程概述
    . y9 I# \" k' c0 |6 B. ~- ^3.1 从 SQL 到 RDD:一个简单的案例
    4 Z9 L! f- z+ s, ]# ]: i3.2 重要概念
      t9 f# h- h5 b7 ?3.2.1        InternalRow 体系8 {+ e+ g% N: Y0 r2 q$ Q3 f0 j0 Z5 k
    3.2.2        TreeNode 体系
    : u, @, L6 ~2 t) M" N# \3.2.3        Expression 体系6 i. c5 l/ V- }' }& m% g5 B. ~
    3.3 内部数据类型系统/ i2 X" |, r& [. ]  u& W; k
    3.4 本章小结
    4 \6 M/ S- {+ E/ y) M  f! t' y& J第 4 章 Spark SQL 编译器 Parser* o! ~4 `) C' C3 T# A
    4.1        DSL 工具之 ANTLR 简介
    3 ^% w" T% S- m5 O1 y- [4.1.1 基于 ANTLR 4 的计算器; Z+ B/ Q- f; ]3 x- U; G  V. R2 l
    4.1.2 访问者模式& p4 n* e4 Q  k# @; }4 M7 B
    4.2        SparkSqlParser 之 AstBuilder1 B( ^& j2 Q& r- z  F# W! `
    4.3 常见 SQL 生成的抽象语法树概览
    ! V0 K* l' y/ e9 P1 W: a. j4.4 本章小结
    ( q& E  n4 R, t; b7 o' o- q. f% a  e第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    " i, K$ I- b/ |: Y( Q5.1 Spark SQL 逻辑计划概述0 P( h1 `" `4 i% S, E* \5 g; n
    5.2        LogicalPlan 简介
    - ]. ?4 O- T* X6 U1 e! I5 ^& I5.2.1        QueryPlan 概述8 k, B! k+ M! v  E# n; P
    5.2.2        LogicalPlan 基本操作与分类
    & m6 n/ n0 X+ Q) V9 E, f5.2.3        LeafNode 类型的 LogicalPlan- o8 F! J- y- J0 E
    5.2.4        UnaryNode 类型的 LogicalPlan
      f. B' d2 G4 D; D9 x9 J5.2.5        BinaryNode 类型的 LogicalPlan
    5 ~, ]! |/ P+ B5 M$ p' ?; {2 d5.2.6        其他类型的 LogicalPlan
    - s1 N9 k) h4 E* i5.3        AstBuilder 机制:Unresolved LogicalPlan 生成
    1 V- S: I6 z' |) X' l5 z5.4        Analyzer 机制:Analyzed LogicalPlan 生成3 A) }7 L1 V. L
    5.4.1        Catalog 体系分析& B$ F% S# C7 q* }% ]
    5.4.2 Rule 体系
    ) D) L8 n8 U$ Z. P# i5.4.3 Analyzed LogicalPlan 生成过程
    : S9 G. s+ a1 y6 ]. O1 K5.5        Spark SQL 优化器 Optimizer
    2 d8 `6 V* u, N3 j- ~8 U5.5.1        Optimizer 概述& Y$ W+ s: P5 q. P) x3 R
    5.5.2        Optimizer 规则体系
    . @% H7 M. ^1 @3 }2 C/ u) S5.5.3        Optimized LogicalPlan 的生成过程) V& p7 V/ P, {8 a+ s
    5.6 本章小结
    . _% ]0 @: [; G3 z第 6 章 Spark SQL 物理计划(PhysicalPlan)
    - `2 ^1 i; d2 V- T# i& T  B6.1 Spark SQL 物理计划概述
    0 ^- }) D4 h- s" B. ^3 R6.2        SparkPlan 简介6 f& ^8 `0 x, o; v9 h( o$ d6 K
    6.2.1        LeafExecNode 类型
    ) ?8 O4 m. j- L# C+ w6.2.2        UnaryExecNode 类型9 L) c: r( J' h; x$ g6 q
    6.2.3        BinaryExecNode 类型
    & h) Q' L. t& m2 @6.2.4        其他类型的 SparkPlan1 F0 W8 T- Z$ j& \3 w
    6.3        Metadata 与 Metrics 体系
    $ I$ k: C. ]" ~: m! w6.4        Partitioning 与 Ordering 体系" S0 Y6 W5 z0 S/ ~6 d1 R* M& I, w9 y
    6.4.1        Distribution 与 Partitioning 的概念* F# z2 k, h6 Z* ?
    6.4.2 SparkPlan 的常用分区排序操作
    ! I& e# L# {5 h! K: J; p* }9 F9 P' n6.5        SparkPlan 生成2 u. E; C9 k" G8 C( ~
    6.5.1 物理计划 Strategy 体系$ U' K+ V* S0 |% q
    6.5.2 常见 Strategy 分析
    3 n4 k& p4 F5 h$ \# U3 [8 [; j6.6 执行前的准备  O' ^' {! j9 Q" a
    6.6.1        PlanSubqueries 规则6 A$ P8 U" J- _: G0 L5 ~0 U
    6.6.2        EnsureRequirements 规则
    ' s4 h( V% s+ S) d" }6.7 本章小结
    0 K' z  z# s: g第 7 章 Spark SQL 之 Aggregation 实现
    0 ?( W! Z- C9 }" t7.1        Aggregation 执行概述
    ' W' B! d# U/ O: M# _% Z7.1.1 文法定义
    $ _# ^. ^# O! R. Z2 d; @7.1.2        聚合语句 Unresolved LogicalPlan 生成0 U0 z6 M  ^8 u5 |* }7 c
    7.1.3 从逻辑算子树到物理算子树
    5 \: a3 k+ E- ]6 c; A0 h, I7.2        聚合函数(AggregateFunction)
    - M0 B4 f  {2 _) {$ {7.2.1 聚合缓冲区与聚合模式(AggregateMode)
      M1 y6 }$ ~3 ]+ D7.2.2        DeclarativeAggregate 聚合函数
    4 @% v4 ~! [1 N9 n* `7.2.3        ImperativeAggregate 聚合函数! s0 @, h% ~% Z4 v: w  m  C7 g0 @4 H
    7.2.4        TypedImperativeAggregate 聚合函数. s* [" q" f& u4 m0 f
    7.3 聚合执行
    / n, _: T/ a& X% N; h. R( h7.3.1        执行框架 AggregationIterator
    , z0 a& v. \9 Q$ W, _5 _7.3.2        基于排序的聚合算子 SortAggregateExec
    + }' B6 [) h; y& p& u6 T7 K2 ^7.3.3        基于 Hash 的聚合算子 HashAggregateExec
    $ f) |6 M/ O' e7.4 窗口(Window)函数! n) A: L( U& T9 b8 p
    7.4.1 窗口函数定义与简介: {6 ~7 G. R" K' W
    7.4.2 窗口函数相关表达式
    ' Z* w* R  a5 _$ m1 m0 n7.4.3 窗口函数的逻辑计划阶段与物理计划阶段
    ( S+ I, b- x$ Q+ W+ K% Y' l7.4.4 窗口函数的执行  |! F# b) t) e3 P, y
    7.5 多维分析. U; B8 T" X- J- y) E" {: H  y
    7.5.1 OLAP 多维分析背景
    % F4 A$ m( |9 v7.5.2        Spark SQL 多维查询/ K+ N, Y3 }- U, g) w( g
    7.5.3        多维分析 LogicalPlan 阶段& |+ E6 c7 X. E: y, B
    7.5.4        多维分析 PhysicalPlan 与执行: Z: U8 ~( U( S  @9 F4 ^
    7.6 本章小结. `8 v" K; j( \) S
    第 8 章 Spark SQL 之 Join 实现2 s! q3 p, R4 {& a9 s8 z& q1 ~: g
    8.1 Join 查询概述* v( c1 N4 B, _5 [6 ^+ t5 ~
    8.2 文法定义与抽象语法树" L2 T0 a+ m& R9 V# G
    8.3 Join 查询逻辑计划" B7 [2 t0 N2 _  J4 c4 P7 m
    8.3.1        从 AST 到 Unresolved LogicalPlan& i: o) J  h& j9 d5 F1 \5 o. q: p
    8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan
    ' B& n6 E; d2 p  J8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan
    # G+ I; n3 V! o- X6 \2 R5 h8.4 Join 查询物理计划
    3 k+ V- x/ p: R0 M) u8.4.1 Join 物理计划的生成3 x# ?7 v2 R: R- w
    8.4.2 Join 物理计划的选取
    ' e" U( R5 D$ m$ t! A4 g8.5 Join 查询执行
    2 K; ?% w- n; p# e/ e2 Y8.5.1 Join 执行基本框架
      l9 K  A- F9 l. q' b5 }) v4 p8.5.2        BroadcastJoinExec 执行机制
    ( U- L" N2 G$ U, V1 W; q/ u8.5.3        ShuffledHashJoinExec 执行机制: P  }9 t' G$ n. @( }. S' H
    8.5.4        SortMergeJoinExec 执行机制0 Z- h4 s2 N/ F. g$ N
    8.6 本章小结1 I/ D0 {5 w9 l$ O) a& X" U, d
    第 9 章 Tungsten 技术实现
    % R1 P: d9 L/ J8 K; q7 X9.1 内存管理与二进制处理* z# u( h8 R( P6 Z& R
    9.1.1 Spark 内存管理基础
    7 F% q) ^  |# I6 C9 @9.1.2 Tungsten 内存管理优化基础0 H3 w/ I+ E. d* |9 y+ s
    9.1.3 Tungsten 内存优化应用8 P4 _/ O: Z- n, ^
    9.2        缓存敏感计算(Cache-aware computation)
    , z* b2 P8 ~) P9.3        动态代码生成(Code generation)
    9 T' k+ N8 _( P' A0 D5 L, k) c( |1 m9.3.1 漫谈代码生成! R" E! @8 _: z7 B
    9.3.2 Janino 编译器实践' D3 `3 g  K. E! j" i
    9.3.3 基本(表达式)代码生成
    ; J, s2 W# k% t2 |* v8 T9.3.4 全阶段代码生成(WholeStageCodegen)! J1 h. Z/ f; C& W) z1 E
    9.4 本章小结% `& X2 R& X0 m0 g
    第 10 章 Spark SQL 连接 Hive
    , {3 X8 X  |* e5 s4 z( I10.1 Spark SQL 连接 Hive 概述2 C6 l$ l8 j# b6 X" `. |9 S
    10.2 Hive 相关的规则和策略
    - \( ?/ c$ ~" U4 S* s) t# M10.2.1        HiveSessionCatalog 体系( c. M' K4 r/ M- D. p) Q+ X
    10.2.2        Analyzer 之 Hive-Specific 分析规则
    + b5 P! B: q7 H; `! \+ `10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    ; W1 A$ h, H% a, g3 R10.2.4 Hive 相关的任务执行
    # Z! t) S9 J" p0 g  ]1 R10.3        Spark SQL 与 Hive 数据类型
    " ~, e- x4 S. e. H) `10.3.1 Hive 数据类型与 SerDe 框架6 |7 Q- s* u; S! b$ H8 T0 u& n0 E9 m
    10.3.2        DataTypeToInspector 与 Data Wrapping
    $ n" N' p! ?, V10.3.3        InspectorToDataType 与 Data Unwrapping
    ; q- f, p! Z, }0 O5 t% S- L10.4 Hive UDF 管理机制
    : j  M; L7 D2 [/ p! B* r10.5        Spark Thrift Server 实现
      B7 K& N0 b3 v* ?* l' B10.5.1        Service 体系
    javazx.com
    9 ?/ Z5 a% m  Y* I" i; B10.5.2        Operation 与 OperationManager
    7 z. \! J4 _7 x9 N7 b4 D10.5.3        Session 与 SessionManager
    " R) d: [# k5 `  B1 O# X5 O! e' S10.5.4        Authentication 安全认证管理8 U5 ^7 O- |+ H; m* |# m
    10.5.5        Spark Thrift Server 执行流程
    3 w1 ]& G& }0 N+ M10.6 本章小结( v5 I- T0 H9 S% F( E) R
    第 11 章 Spark SQL 开发与实践6 ~0 P6 ~0 t6 H! K8 C! c
    11.1 腾讯大数据平台(TDW)简介
    % x$ l% @" g3 L  _11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)
    1 s- o) }  j- K; L4 S! S5 M11.2.1 SQL-Engine 背景与演化历程
    & r3 l" h  [9 B7 |11.2.2 SQL-Engine 整体架构3 w: w; r. }! u; @# p+ m0 l0 l
    11.3 TDW-Spark SQL 开发与优化
    , k- u! W1 z" O; ^9 H11.3.1 业务运行支撑框架
    % T) D3 x3 N; q11.3.2 新功能开发案例
    # W4 d) j0 W  U& t+ a11.3.3 性能优化开发案例
    $ S+ e+ l2 l- d: e% H. w" ^4 L% R11.4 业务实践经验与教训# F9 V7 A3 n5 B
    11.4.1 Spark SQL 集群管理的经验
    ; H2 i* U- [- K( O5 n- q11.4.2 Spark SQL 业务层面调优, G0 _: d8 ^  p* G+ s- i, w+ l/ s
    11.4.3 SQL 写法的“陷阱”
    $ V1 S: i' H: L, c0 S% ^7 b& X! v11.5        本章小结
    9 S: e! b: Q8 N* y" Z" ~4 e3 b总结
    5 b% l1 B0 z2 q. S参考文献

    ; \; ^; f+ U" G0 h" Q# LJava资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】
    . _; E4 d) s/ Y- n. I
    游客,如果您要查看本帖隐藏内容请回复
    ) Z: Y4 |/ L) x

    $ _8 J6 {7 z  p# ^, A

    9 ?9 G6 J( |; ~2 c: C' e
    & q" {8 J% t8 z7 ]. ~6 h4 {
    ' ?6 Z  o9 ]3 z' Z: D$ ~* L2 l9 |/ O$ }
    回复

    使用道具 举报

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

    2 z( L$ Q# k! q( e; W; Z) W/ F& U8 Q$ [2 T5 _
    谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-2-22 19:27 , Processed in 0.172199 second(s), 42 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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