请选择 进入手机版 | 继续访问电脑版
java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 40773|回复: 289

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66083

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

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

    3 z5 ~# i3 Y9 D
    作者:朱锋
    . b; _5 j# j# f  `3 L/ ~% ^' E1 y出版社:电子工业出版社  h4 g$ l7 E6 t4 N4 `/ d6 L
    出版时间:2018年08月 $ i% b+ m' W: ]1 k- u0 U- J
    书籍价格:69.0元
    0 x8 `. Z) ?) V) a
    6 P3 M% c: X+ p: v' O; E! h" e6 `
    111.jpg : J1 ?5 J+ b  {8 }: x4 }
      _' a: Z  K/ i  i5 k1 N3 n
    java电子书目录:
    % O( s4 x, ^$ P$ n4 t, `
    第 1 章 Spark SQL 背景
    " y9 V. a% H& G1.1 大数据与 Spark 系统
    ' T3 e# ^# C) d7 S) L1.2 关系模型与 SQL 语言) b/ }% t: h& G* s! X! E3 ~( `. S5 G
    1.3 Spark SQL 发展历程
    + X. h4 t* B0 }* x! d1.4 本章小结
    6 J0 V- X4 B1 `第 2 章 Spark 基础知识介绍
    . w4 ^' {( l( l8 S2.1 RDD 编程模型/ S+ d" F4 r, F1 V4 F
    2.2 DataFrame 与 Dataset
    5 u& g$ e7 U& P3 c2.3 本章小结
    * P% q' p: b  n+ ~% Y第 3 章 Spark SQL 执行全过程概述
    0 P7 g8 S, |" R+ F3.1 从 SQL 到 RDD:一个简单的案例
    ( B& n% C# W+ J" ~3.2 重要概念
    # ?9 a) L1 p! A1 \6 f3.2.1        InternalRow 体系
    9 I( {& u" Z9 V/ ~4 X' j3.2.2        TreeNode 体系5 A1 a6 i( j0 G
    3.2.3        Expression 体系3 |4 G) V' @! P. D, D
    3.3 内部数据类型系统5 {9 ~; l+ Z2 r0 C2 `) o. z+ w% ^
    3.4 本章小结$ f5 w1 v! a+ I$ ~" f) }( G
    第 4 章 Spark SQL 编译器 Parser
    0 b& L6 _9 L( q) |' @4.1        DSL 工具之 ANTLR 简介
    " y2 h) T2 y) w" m" G4.1.1 基于 ANTLR 4 的计算器
    " P! N0 v- J) i# ?4.1.2 访问者模式/ @5 T" {0 q& o  _- \
    4.2        SparkSqlParser 之 AstBuilder( Y' q$ ]. P# _9 |/ N6 c: V
    4.3 常见 SQL 生成的抽象语法树概览( z- R# v: h. D& V0 R9 H
    4.4 本章小结, p: J% f: K+ A& f  v
    第 5 章 Spark SQL 逻辑计划(LogicalPlan)
    ' X( A6 d7 F% h3 x- ]5.1 Spark SQL 逻辑计划概述
    9 L/ a8 l4 d" w6 h2 o& [1 [5.2        LogicalPlan 简介1 N( n; w3 c' e6 t1 B" q
    5.2.1        QueryPlan 概述
    ' m# f& v- O. M0 A- }. s6 N5.2.2        LogicalPlan 基本操作与分类7 Z3 R: T! g- A* c; N
    5.2.3        LeafNode 类型的 LogicalPlan' B9 W2 a6 R  |" {
    5.2.4        UnaryNode 类型的 LogicalPlan
    2 s% x" ]! _9 {5.2.5        BinaryNode 类型的 LogicalPlan
      m, l- i2 e4 O  |' Z! u5.2.6        其他类型的 LogicalPlan
    ! P5 h% ?+ l- M8 S, K5.3        AstBuilder 机制:Unresolved LogicalPlan 生成
    ) |; h. S7 d0 P. B* W/ b3 R5.4        Analyzer 机制:Analyzed LogicalPlan 生成, ^( r, [/ G. c) G+ D" p' w
    5.4.1        Catalog 体系分析9 b/ O# u2 u" b
    5.4.2 Rule 体系9 s' Z/ P5 t4 Y, c# d  j3 m
    5.4.3 Analyzed LogicalPlan 生成过程
    ) `/ Y5 f/ q; O0 H5.5        Spark SQL 优化器 Optimizer5 U7 k+ r- ]1 ?5 C' v
    5.5.1        Optimizer 概述, T7 ]  ^( ?5 l! P' W- R$ ?
    5.5.2        Optimizer 规则体系" b8 A* H6 S4 ?) L* t
    5.5.3        Optimized LogicalPlan 的生成过程
    ; ]  [$ g# K6 }6 [/ u0 R; G5.6 本章小结7 S/ w' ?1 [6 D  C8 c/ X
    第 6 章 Spark SQL 物理计划(PhysicalPlan)( J8 {- V- ~$ U
    6.1 Spark SQL 物理计划概述( F- q9 m5 m* ?, l
    6.2        SparkPlan 简介
    0 U. g, H( P/ u' ]. L* Q' W: E4 G6.2.1        LeafExecNode 类型
    # ^* g* l5 K7 R6 q! u6 a9 E6.2.2        UnaryExecNode 类型5 Z. R: ~9 b2 N& W- K" Q
    6.2.3        BinaryExecNode 类型% C* x! u& P  \) h" b8 i; d; k
    6.2.4        其他类型的 SparkPlan6 z/ u) M( q4 f0 o+ H9 B( I! l
    6.3        Metadata 与 Metrics 体系0 J- M, u$ f1 a& @3 w, C6 j1 r
    6.4        Partitioning 与 Ordering 体系
    3 c* }& M+ V* H# M6.4.1        Distribution 与 Partitioning 的概念$ n, t' O9 r9 e0 X: m& E
    6.4.2 SparkPlan 的常用分区排序操作
    # G) i% k: H$ ?6.5        SparkPlan 生成
    $ V/ e0 H3 J0 y6.5.1 物理计划 Strategy 体系; K6 I: F6 q. a% h  b- D
    6.5.2 常见 Strategy 分析
    : z5 E9 l* z1 i9 y% E6.6 执行前的准备
    ( Q& Z8 ?0 E" |4 x  Z; f6.6.1        PlanSubqueries 规则
    - O$ A: l' A2 k' ]1 Q6.6.2        EnsureRequirements 规则, h" x+ y* H: W9 e
    6.7 本章小结
    . C8 r- A& F' Q2 J+ {第 7 章 Spark SQL 之 Aggregation 实现
    - b9 Z+ d5 j. t7.1        Aggregation 执行概述
    6 `# [  j, W9 C1 Z: q; w* B7.1.1 文法定义9 q4 c% g. \' h" F4 D
    7.1.2        聚合语句 Unresolved LogicalPlan 生成  `/ B  W! J) K( c# V  f
    7.1.3 从逻辑算子树到物理算子树7 w) T* ]0 l: U9 y# D$ A
    7.2        聚合函数(AggregateFunction)
    + A- @# G! Z2 a7.2.1 聚合缓冲区与聚合模式(AggregateMode); d7 X( H. V" J: m' Z# M" B+ _
    7.2.2        DeclarativeAggregate 聚合函数/ Z0 T8 N4 I3 D- J( ?
    7.2.3        ImperativeAggregate 聚合函数
    $ a% V) u$ T5 k7.2.4        TypedImperativeAggregate 聚合函数2 e: g/ C3 l% G# X
    7.3 聚合执行
    ( u' P$ w; i2 y4 T3 L4 u7.3.1        执行框架 AggregationIterator9 [" @6 T6 O1 G" k) p# i  `) G
    7.3.2        基于排序的聚合算子 SortAggregateExec2 a) T1 V3 S. o4 S7 |
    7.3.3        基于 Hash 的聚合算子 HashAggregateExec
    6 Z. ^# c4 {( C1 v7.4 窗口(Window)函数
    % @: d( H" d- u6 `( r2 T5 a7.4.1 窗口函数定义与简介
    3 j7 u3 I) L0 u# c7.4.2 窗口函数相关表达式
    : I9 A1 l. ?2 x% B+ n7.4.3 窗口函数的逻辑计划阶段与物理计划阶段# k) p, A2 ^' P* l3 G
    7.4.4 窗口函数的执行. o& r5 S# m% }% g; m
    7.5 多维分析
    7 g2 }$ s' [) B3 G: c7.5.1 OLAP 多维分析背景
    9 e5 {6 r' p' s- {4 y7.5.2        Spark SQL 多维查询8 H( R* u$ |" E
    7.5.3        多维分析 LogicalPlan 阶段& }7 s! a6 I2 h
    7.5.4        多维分析 PhysicalPlan 与执行
    ( Q0 Z% T7 Q; i7 B' ~7.6 本章小结
    2 I  q/ A( v. U& ^3 }; x7 r第 8 章 Spark SQL 之 Join 实现7 }6 e9 Y0 b  _6 i/ _" X3 P
    8.1 Join 查询概述/ J. I: T6 Y4 f
    8.2 文法定义与抽象语法树* l' k) h, c% |) k
    8.3 Join 查询逻辑计划8 b2 D6 r6 O6 F! K% p" a: n
    8.3.1        从 AST 到 Unresolved LogicalPlan
    * ~: ]; H  O2 A. k# E: R+ f8.3.2        从 Unresolve LogicalPlan 到 Analyzed LogicalPlan6 e9 U& ?7 w6 l0 t
    8.3.3        从 Analyzed LogicalPlan 到 Optimized LogicalPlan7 A1 W% K. Y1 X/ l# f
    8.4 Join 查询物理计划
    / F3 J8 m: m+ g* Q+ U8.4.1 Join 物理计划的生成
    7 M/ ?/ f3 |8 P# f: k) }8.4.2 Join 物理计划的选取
    % d, s+ l$ f2 o0 F; x: L$ v8.5 Join 查询执行( _3 }+ \' O! S, `/ D) P6 u% k
    8.5.1 Join 执行基本框架
    ) f4 |' O8 r9 R# }& q4 B8.5.2        BroadcastJoinExec 执行机制1 N9 R: i$ b) u0 y6 @8 A
    8.5.3        ShuffledHashJoinExec 执行机制8 f: N1 h! x: {" F  s
    8.5.4        SortMergeJoinExec 执行机制
    ; o4 ^+ `, U7 S0 ^9 G8.6 本章小结* d5 t1 x' p( s3 D1 {7 t
    第 9 章 Tungsten 技术实现
    4 D5 E3 |4 G- c# G* P& G$ S; @9.1 内存管理与二进制处理& R' ^5 j) z8 V* n
    9.1.1 Spark 内存管理基础" m6 {8 r* M3 }& r7 A
    9.1.2 Tungsten 内存管理优化基础
    , V- y! J& N3 n3 [. G9.1.3 Tungsten 内存优化应用
      U# o; o7 c" {4 m/ k9.2        缓存敏感计算(Cache-aware computation)$ |" t' J1 c& J5 u8 v
    9.3        动态代码生成(Code generation)
    * K- \$ ~7 H' {+ S( Z5 V9.3.1 漫谈代码生成
    . j+ R* T% W3 F2 L7 h5 F1 L% B9.3.2 Janino 编译器实践
    # c2 ]! q7 U% P1 y# `+ ], C* C9.3.3 基本(表达式)代码生成% _( r* M  Y8 _$ i" |
    9.3.4 全阶段代码生成(WholeStageCodegen)
    6 S: c# v8 V+ _9.4 本章小结
    : Z6 t, Y) i5 u: H2 R1 P7 U$ E第 10 章 Spark SQL 连接 Hive+ d! O: k2 @3 K! a
    10.1 Spark SQL 连接 Hive 概述
    " A7 B3 u4 `+ l8 b, L; G1 D10.2 Hive 相关的规则和策略
    * I" {" [+ J' C+ p2 }* C: ]10.2.1        HiveSessionCatalog 体系
    & I- p1 C7 X+ N/ g8 e7 z4 E3 B; W10.2.2        Analyzer 之 Hive-Specific 分析规则
      Q& Z+ I8 Q1 e. I1 h) X10.2.3        SparkPlanner 之 Hive-Specific 转换策略
    ) m7 ]4 W" S7 \3 ^3 q/ U10.2.4 Hive 相关的任务执行+ b8 i/ j2 Q  ^
    10.3        Spark SQL 与 Hive 数据类型
    ! _+ p) I, ?$ K3 x, I9 C10.3.1 Hive 数据类型与 SerDe 框架2 {7 m# n* h1 A  x* b3 U8 ?7 y
    10.3.2        DataTypeToInspector 与 Data Wrapping
    * O# |6 L2 }5 Y% I* a; y# [3 D2 {10.3.3        InspectorToDataType 与 Data Unwrapping7 F. t; [! ?; o0 K0 L
    10.4 Hive UDF 管理机制
    6 Q# c6 p5 Q$ |7 m$ Q% I: B10.5        Spark Thrift Server 实现) S/ B0 P2 @7 D: i5 c) s: z
    10.5.1        Service 体系
    javazx.com7 k2 [  a+ b# x2 ?3 J
    10.5.2        Operation 与 OperationManager3 t# e3 S0 n9 K. w
    10.5.3        Session 与 SessionManager
    * f: ?5 t- u" a4 F* x10.5.4        Authentication 安全认证管理
    : d! o: H' Y6 a10.5.5        Spark Thrift Server 执行流程$ S' m6 s0 b4 G. k4 `  N8 `2 U1 D
    10.6 本章小结% j  y; C" c: x8 d
    第 11 章 Spark SQL 开发与实践! q. E2 h' f' ]+ x! |0 j
    11.1 腾讯大数据平台(TDW)简介! U, T+ P* z/ g: S$ e- a
    11.2 腾讯大数据平台 SQL 引擎(TDW-SQL-Engine)
    5 N# M* c4 H1 E3 c0 F3 v11.2.1 SQL-Engine 背景与演化历程- l( C. g: S: _9 J& }6 q# h
    11.2.2 SQL-Engine 整体架构6 h! y3 C- N; a# o' L* s
    11.3 TDW-Spark SQL 开发与优化( J3 p& S( P1 h" @3 s# W0 p# Z
    11.3.1 业务运行支撑框架. |# Y. r  U/ _
    11.3.2 新功能开发案例3 g: V0 Z% G+ d
    11.3.3 性能优化开发案例; V4 p1 S' {) [" v( [2 {
    11.4 业务实践经验与教训8 z; J2 E8 \4 R, w( q
    11.4.1 Spark SQL 集群管理的经验. z  ?: o2 A: X
    11.4.2 Spark SQL 业务层面调优: U" x0 P9 N8 D7 s& }' V
    11.4.3 SQL 写法的“陷阱”3 u' N* W* q* \' w( d" X
    11.5        本章小结5 k9 Y- ]6 C) ?- |3 o$ \; N
    总结5 Q& }4 d* ^# K4 K- U6 Y& Y2 K2 V
    参考文献
    2 B7 h' }7 T7 D( \4 n" j
    Java资料百度网盘下载地址链接(百度云):Spark SQL内核剖析@www.javazx.com.pdf【密码回帖可见】* v( p4 C) P2 Q( t- Z! U
    游客,如果您要查看本帖隐藏内容请回复

    # w1 \0 {- p4 k2 i( v% |2 c) d# d8 H

    1 j/ {% g" t4 Z" ~, a" T
    ( v$ D- i+ q, O0 ^$ u% U, K3 U, c' v3 k! I2 Z3 v! U2 p* \
    . h6 y3 a5 O" q) 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 | 显示全部楼层

      @7 s# ?% C3 y( v; ~1 F
    6 X1 w; S  S; C* \3 A5 H! z谢谢 谢谢 谢谢谢
    回复 支持 反对

    使用道具 举报

  • 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-16 11:53 , Processed in 0.189565 second(s), 40 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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