java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 46150|回复: 290

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

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

    发表于 2019-5-28 21:57:26 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Spark SQL内核剖析》
    ; [7 m7 j+ i; z3 g6 rjava电子书推荐理由: 经过多年的发展,大数据处理技术逐步成熟。作为业界大数据计算的事实标准,Apache Spark系统已经广泛应用于各大企业与研究机构,并形成完整的生态系统。Spark系统包含了SQL、GraphX和R等各个子系统以支持不同业务领域的需求。作为传统关系数据库/数据仓库在大数据场景下的解决方案,Spark SQL已经成为了业界的重要选择方案,同时也成为了Spark开源社区中*为活跃的部分。本书聚焦于Spark SQL系统,对其整体架构、内部各个模块的技术实现机制进行源码级别的剖析,涉及到SQL编译、逻辑计划、物理执行计划、重要查询(如Aggregation与Join等)的技术细节。此外,本书内容上还会结合生产环境的海量应用,分享大量真实开发案例与实践优化经验, F7 J9 Z2 `6 Q3 L; V
    ) L5 R8 K) X. B3 G% {4 Z9 T, J
    作者:朱锋( T9 R1 e, V* E  y
    出版社:电子工业出版社
    ) m8 V* \3 G# ?" v/ W6 ]. l出版时间:2018年08月
    1 I) E, r6 n& ~: B* ?9 K1 C书籍价格:69.0元
    / ^8 b& Z4 G' c5 H
    # H) m8 N% [+ t- V3 t" h% m& M
    111.jpg
    : [  N" X2 e) I% D1 d  b( C
    : x+ P3 a8 o4 R1 G& W( o
    java电子书目录:4 B1 o4 K0 i# s7 R5 a
    第 1 章 Spark SQL 背景0 x. x: V/ j! A+ u
    1.1 大数据与 Spark 系统# M' H5 D; u" j, I
    1.2 关系模型与 SQL 语言  Y2 c, p& k; F  C
    1.3 Spark SQL 发展历程
    + i8 v% y" G. A7 ?9 v8 m1.4 本章小结
    * U5 ^- z) j# i% P/ A" S第 2 章 Spark 基础知识介绍% e& q& F+ t' [1 }) j
    2.1 RDD 编程模型" d; j) m! `) f! B8 P$ ^
    2.2 DataFrame 与 Dataset( t' u- f8 k! N1 A. M
    2.3 本章小结; |2 N2 {" Q$ N) u
    第 3 章 Spark SQL 执行全过程概述
    / s5 b+ y9 J9 x3.1 从 SQL 到 RDD:一个简单的案例6 B4 A- o$ A4 [9 ?0 z* \: y. b
    3.2 重要概念- U3 x* x' I+ {7 m7 J
    3.2.1        InternalRow 体系& V! T* E3 ~, J2 o. C4 {- x
    3.2.2        TreeNode 体系( k0 [$ N7 }5 H# d" R
    3.2.3        Expression 体系9 H( h4 H; u1 G1 {, r) X& d) H
    3.3 内部数据类型系统
    ; b0 B# [% a$ }- y3.4 本章小结
    9 f# z) S# \2 [3 H) J- ?; U0 V第 4 章 Spark SQL 编译器 Parser2 m- r1 X0 |4 ~- U% F3 u4 x- ?
    4.1        DSL 工具之 ANTLR 简介( N3 e9 C& a* Y( C( N6 i
    4.1.1 基于 ANTLR 4 的计算器5 }* @0 H/ n+ j- D/ @! g
    4.1.2 访问者模式3 k) ^( K2 f  ~4 U7 a7 q. D
    4.2        SparkSqlParser 之 AstBuilder
    # A: _% a! U9 r3 @6 h) \4.3 常见 SQL 生成的抽象语法树概览7 M& w- [, H9 Z* U
    4.4 本章小结, q, b& b$ i4 b& d) P
    第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    ) ?& i' }$ M" Z3 h& P" P  h5.1 Spark SQL 逻辑计划概述
    / }9 F% k  |9 v/ A5.2        LogicalPlan 简介
    # L& {: E$ H2 J( C& Q3 }" m' Q5.2.1        QueryPlan 概述
    7 C: z* ~* @# s/ V4 x6 E  C5.2.2        LogicalPlan 基本操作与分类# i* l; J, b) \+ M
    5.2.3        LeafNode 类型的 LogicalPlan: ]( J6 W. z/ q" ?$ E7 j: u
    5.2.4        UnaryNode 类型的 LogicalPlan
    3 ?. B- R% p0 _& m, i5 j5.2.5        BinaryNode 类型的 LogicalPlan
    7 E- M4 H2 a9 |: x3 s% d5.2.6        其他类型的 LogicalPlan
    7 A$ e- d5 r" e! ?# Z5.3        AstBuilder 机制:Unresolved LogicalPlan 生成1 \) Q. u' V5 ]( ^- v! |
    5.4        Analyzer 机制:Analyzed LogicalPlan 生成& H/ \3 M# H9 U4 z8 m7 ~" Z
    5.4.1        Catalog 体系分析
    # H# z' j. B9 |6 m: a! v) r$ }: E5.4.2 Rule 体系
    % [- P" F, j9 b( S9 b2 e* ~5.4.3 Analyzed LogicalPlan 生成过程( r! M  S0 U5 I4 d5 h# p! e1 J
    5.5        Spark SQL 优化器 Optimizer
    3 w, L- U$ i7 o  X- X, t; W5.5.1        Optimizer 概述6 O3 e1 K& v9 f; A' o
    5.5.2        Optimizer 规则体系
    8 Q( i3 o$ J( e5.5.3        Optimized LogicalPlan 的生成过程* k2 `; I5 _$ n
    5.6 本章小结. N* R' A0 S& X5 m9 G' v  K
    第 6 章 Spark SQL 物理计划(PhysicalPlan)% X: ?$ f0 ]8 m6 X1 q: K( y4 ~
    6.1 Spark SQL 物理计划概述
    8 f3 }7 t( s8 T( |' G6.2        SparkPlan 简介
    9 F, s! @" Z' L* G% `6.2.1        LeafExecNode 类型
    8 @  L- _6 b! B+ I, g& n6.2.2        UnaryExecNode 类型
    5 H- `& r4 N, s3 R: q# X! z6.2.3        BinaryExecNode 类型
    % z# g! C, b1 d% O6.2.4        其他类型的 SparkPlan
    2 P: Y) B' Q% |) L! h% f, \6.3        Metadata 与 Metrics 体系
    5 n: t+ \" O( o, j9 `6.4        Partitioning 与 Ordering 体系6 {7 b0 b8 V+ g1 L: H2 h' w0 W
    6.4.1        Distribution 与 Partitioning 的概念9 p* o# ^( x# I+ \* p8 D2 Y# S6 _
    6.4.2 SparkPlan 的常用分区排序操作& Q& P  E: ?$ [' D3 o* l  C0 I
    6.5        SparkPlan 生成9 p& I- N9 J$ ]. Y1 q. c. o
    6.5.1 物理计划 Strategy 体系5 G% k: P" _! m9 Y& `
    6.5.2 常见 Strategy 分析
    - c4 e. g: v. H% o. W4 F. p6.6 执行前的准备
    ' u% K1 f  [) O8 O9 T0 J) K! d6.6.1        PlanSubqueries 规则* S0 h9 A3 [* O/ J/ R
    6.6.2        EnsureRequirements 规则
    % B! a  [5 Y! T# f6.7 本章小结
    . W- }% @! i% J# H第 7 章 Spark SQL 之 Aggregation 实现& g& T6 I2 L0 {* |2 b& w) D, b
    7.1        Aggregation 执行概述
      Y4 N. x! L  d7.1.1 文法定义
      T5 |3 V7 w- b2 B7.1.2        聚合语句 Unresolved LogicalPlan 生成4 U9 [5 k+ z6 j  T, R" {% E* _; U3 |
    7.1.3 从逻辑算子树到物理算子树
    0 G' |; y& ^% D4 B2 P& Q7.2        聚合函数(AggregateFunction), k! r. E2 \& q' X9 E& E* C& s
    7.2.1 聚合缓冲区与聚合模式(AggregateMode); b- R7 \# }% j1 L, C
    7.2.2        DeclarativeAggregate 聚合函数1 P# [0 {" j5 ?3 _
    7.2.3        ImperativeAggregate 聚合函数
    ; ^1 S0 \! L5 _$ @( {7.2.4        TypedImperativeAggregate 聚合函数
    , ?8 p& i5 G9 t1 i5 [- K8 t7.3 聚合执行
    ( Q- H0 M5 z  `- M7.3.1        执行框架 AggregationIterator5 O: B8 F+ Y, n2 l0 u
    7.3.2        基于排序的聚合算子 SortAggregateExec* V2 P+ t% i# b. {. }! j
    7.3.3        基于 Hash 的聚合算子 HashAggregateExec$ q# u  t+ |) b1 W, ]- h
    7.4 窗口(Window)函数
    ' Q# f- m( W* A5 ]& Y1 J7.4.1 窗口函数定义与简介7 V+ P$ p' @6 {- x
    7.4.2 窗口函数相关表达式
    ! x8 ]4 g+ t8 U# A3 E! f7.4.3 窗口函数的逻辑计划阶段与物理计划阶段
    ' B) h$ B& L0 M) u& i7 j8 i6 o7.4.4 窗口函数的执行
    ) s" e. \2 H# m7 b5 S/ ], r9 S" z7.5 多维分析" C5 y' D. u5 Q. }  N9 F
    7.5.1 OLAP 多维分析背景' y" t2 a, B& L! x& u
    7.5.2        Spark SQL 多维查询
    ; g9 t' ?9 }" b* V2 ?4 E- v. _! e7.5.3        多维分析 LogicalPlan 阶段; ?7 Y8 u" I7 k: A; S7 m
    7.5.4        多维分析 PhysicalPlan 与执行! N2 {* y: I0 \5 S2 e7 I/ I
    7.6 本章小结5 q  K, c% g5 |% S1 y
    第 8 章 Spark SQL 之 Join 实现
    . d( z9 k) E; p# ?8.1 Join 查询概述
    . L! C3 m, M% \, U$ B% x8.2 文法定义与抽象语法树* @* ~5 o$ P$ @2 }: ]* ?( }
    8.3 Join 查询逻辑计划: U. l+ @3 @/ p1 w4 y
    8.3.1        从 AST 到 Unresolved LogicalPlan
    + a: @2 b9 ~9 r, r& P8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan0 r, G& Z) E$ s0 ~
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan# k- d6 S  r6 N* ?: L3 i$ E6 ]
    8.4 Join 查询物理计划
    5 y4 J- Z5 J0 N0 O" P8 S8.4.1 Join 物理计划的生成8 c- n4 [( n! O4 t, N
    8.4.2 Join 物理计划的选取
    ( b2 I" E) E! k% ], f. X9 w/ j/ L! M8.5 Join 查询执行
    8 r7 K8 q9 h, R2 T- H! _$ t) c8.5.1 Join 执行基本框架& v5 ~: t. g5 ^! R1 X$ u
    8.5.2        BroadcastJoinExec 执行机制6 l( \  I! ]; m( Q- V& Q: x8 C
    8.5.3        ShuffledHashJoinExec 执行机制
    ( D1 ~# `* Q. l8.5.4        SortMergeJoinExec 执行机制
    7 g! i" i. A8 l% u" f8.6 本章小结- V, t0 K% I9 b# H+ U
    第 9 章 Tungsten 技术实现
    ) A3 r: m! [  Q  a9.1 内存管理与二进制处理# h- J" S2 K/ D* y0 a
    9.1.1 Spark 内存管理基础1 A+ e7 K# Z- \; _6 y3 }* L
    9.1.2 Tungsten 内存管理优化基础
      g! F, g5 A/ H( u3 z: N9.1.3 Tungsten 内存优化应用9 U" G, z0 `( |8 I# e# _5 f  ?
    9.2        缓存敏感计算(Cache-aware computation)* H  P- S( @) r  a5 ^
    9.3        动态代码生成(Code generation)
    % L. R' A, r2 ?0 u3 Q: Z3 B6 U9.3.1 漫谈代码生成1 J6 H$ Z9 q* Z7 F7 |
    9.3.2 Janino 编译器实践7 n9 s/ G7 I$ {) F, [
    9.3.3 基本(表达式)代码生成7 ?0 U9 }+ U" u: q) T
    9.3.4 全阶段代码生成(WholeStageCodegen), N) t' T) B9 }: n8 t3 n1 e
    9.4 本章小结
    " \+ A0 J3 L, G% f$ W- U) _第 10 章 Spark SQL 连接 Hive
    % y5 S: b( w7 Q1 e* a10.1 Spark SQL 连接 Hive 概述
    2 w, P* @& J" g; W) ]10.2 Hive 相关的规则和策略8 y* g. j0 F% ]. F1 G  i
    10.2.1        HiveSessionCatalog 体系: M' _5 z( q# x$ k
    10.2.2        Analyzer 之 Hive-Specific 分析规则
    # G5 c, Q* E2 `" Q" T+ A1 ]. B- L10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    7 V" F) o- x! Q0 b$ a+ e10.2.4 Hive 相关的任务执行0 @  H5 p% S6 X4 C
    10.3        Spark SQL 与 Hive 数据类型
    4 F- G" @9 v/ t9 ]5 u5 F10.3.1 Hive 数据类型与 SerDe 框架% J$ T' \1 a# f
    10.3.2        DataTypeToInspector 与 Data Wrapping
    3 l' |! W/ ?" |  M7 `10.3.3        InspectorToDataType 与 Data Unwrapping
    ( _) e8 ~  k% [# k10.4 Hive UDF 管理机制
      L5 B! i* r& c! L% s- }10.5        Spark Thrift Server 实现
    % P, P* a4 U: ?3 o2 u, i10.5.1        Service 体系
    javazx.com# r# {6 B5 i" M1 K5 u- h
    10.5.2        Operation 与 OperationManager
    $ ^- {8 F2 I. r' J- M10.5.3        Session 与 SessionManager
      t/ |6 j+ [1 r$ S& V7 f8 R10.5.4        Authentication 安全认证管理( |) X- b( l0 y) \; H1 @
    10.5.5        Spark Thrift Server 执行流程
    ( x  F/ A# P5 n, B2 C; O10.6 本章小结
    : [9 ?" Y" s% U! Z0 R第 11 章 Spark SQL 开发与实践
    , D/ k9 @  h! v4 `4 h) o; s; s: D0 z11.1 腾讯大数据平台(TDW)简介
    5 \* P4 q* t4 c" S$ y) y11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)- H# N; ]  b2 n1 \; r
    11.2.1 SQL-Engine 背景与演化历程2 }1 d1 u7 q% @; |0 `
    11.2.2 SQL-Engine 整体架构
    % S' n6 G8 i( W+ v5 Q( x) `11.3 TDW-Spark SQL 开发与优化3 ?+ J4 R! X) ^% i' L
    11.3.1 业务运行支撑框架* \! }& I, f/ z  D& w0 J) {
    11.3.2 新功能开发案例
    % I9 [; h6 P9 n& b# E11.3.3 性能优化开发案例
    * y1 v8 r5 H) w( }* a! A  K6 O11.4 业务实践经验与教训. \/ l( Z/ W1 N) w9 \/ Q5 u; O# c
    11.4.1 Spark SQL 集群管理的经验( G+ V% o" w+ \! O
    11.4.2 Spark SQL 业务层面调优- O# ^3 x) J1 j6 L8 S! U  g
    11.4.3 SQL 写法的“陷阱”
    ; I  Y+ H5 U( Z8 S11.5        本章小结7 S7 t  y6 q5 a) d1 s0 W& S5 F3 y
    总结
    # f1 D7 h/ f/ a1 q. M参考文献
    ) K" P5 ^+ a  D$ c- ?! A$ Z
    Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】
    5 |' |) \' v- H2 g% v
    游客,如果您要查看本帖隐藏内容请回复

    , L  O# b$ c# s5 a. k
    9 ^  f' y) ?# M* E# ]( [7 n

    9 K9 J: R% C# \7 Z) C' C) ~# x
    , [& A9 \6 w7 R0 n
    6 L" X6 N, I/ }0 H4 u
    9 t# J2 A: d7 v
    回复

    使用道具 举报

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

    - s2 h; Y9 s: q9 A2 G0 w/ ^
    & m: t: m. o3 ^8 u谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-11-21 20:34 , Processed in 0.260524 second(s), 42 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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