|
Java电子书:图解Spark:核心技术与案例实战 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
* W2 g% O; P' t+ n4 A+ C) O& ? k* P) k V
3 t5 D7 g, K% w$ f' }5 [: J编号:mudaima-P0303【Java吧 java8.com】
: b# X# z3 M+ b: a6 O ?- t9 a3 ~1 l
9 p5 N p8 }; j" I. ? M
- G/ v. ]$ j; U5 I0 J! W0 kJava电子书目录:第1章 Spark及其生态圈概述) G/ X7 Q/ q7 u- L8 i+ t( ^7 v
1.1 Spark简介
0 [0 E- I: i! |6 h' V$ E. B4 h1.1.1 什么是Spark* u1 x/ u, y# w
1.1.2 Spark与MapReduce比较6 N) h% }7 g+ M: n4 V
1.1.3 Spark的演进路线图& i4 u: E! `4 I$ r7 m2 }' A
1.2 Spark生态系统
2 |8 k8 G+ ]- _# T% d9 G1.2.1 Spark Core
' Q9 }7 z. s6 ?) i. W& q+ R: `1.2.2 Spark Streaming0 L B3 y. V9 q! f
1.2.3 Spark SQL
, m: F7 Y5 _- j1 E' W+ L U" F* S1.2.4 BlinkDB
3 z# J {# o, P) C9 K5 B7 X$ J1.2.5 MLBase/MLlib" W9 X% b4 t1 m2 I9 z& C! `# U" w
1.2.6 GraphX
9 a$ z/ [- M3 K. E1.2.7 SparkR2 G% O' x' b0 b+ h8 M9 g# v! @
1.2.8 Alluxio
7 a6 Y6 e! N; B1.3 小结
4 d0 K' _9 P( r第2章 搭建Spark实战环境# V: @4 `- Q( s! X, c& V( {
2.1 基础环境搭建! q7 `$ [' U/ |& p
2.1.1 搭建集群样板机
( n" d/ G2 |' t5 l2.1.2 配置集群环境
4 r* m2 E! V1 a! A0 g# w2.2 编译Spark源代码
" [8 I* M$ W6 m( v! |. t8 E' w% S' D2.2.1 配置Spark编译环境
: M- Z# U; C# e) B0 P' s2.2.2 使用Maven编译Spark. p; c1 o- L7 S3 _
2.2.3 使用SBT编译Spark
: J( m4 A6 E3 y4 l, G* P: T2.2.4 生成Spark部署包/ F& r- f2 D1 M. f& _# e+ i$ N, v
2.3 搭建Spark运行集群
# ]4 w/ Y Y6 B0 E7 N* t+ }% _! y2.3.1 修改配置文件) X+ }% E4 `" Y* L$ L* I( d" D
2.3.2 启动Spark
# @: c( X" o8 K) ?( H- K3 X% ^& @2.3.3 验证启动8 A: y% G. U- ^$ `( E1 A3 ^) B
2.3.4 个实例% f: `& \) i! _) b& j2 i
2.4 搭建Spark实战开发环境
6 q4 E! N$ b& E8 c: R% z/ C2.4.1 CentOS中部署IDEA% u4 U1 V* ~$ r, e( O: C
2.4.2 使用IDEA开发程序7 Z: N# q+ Y- i& `# T9 U
2.4.3 使用IDEA阅读源代码
: P7 P- o; K8 }8 \$ ^' U" c2.5 小结4 F3 w' z9 M1 R0 ~/ Y
7 H( O H2 ~6 N0 y
第二篇 核心篇- `1 q* \7 ?- G( O4 _0 J$ k& d: D
第3章 Spark编程模型
! @7 q; O7 B" _5 d: T0 |3.1 RDD概述. s7 g$ Y! k2 d- @; d; ?% o! G
3.1.1 背景
+ u, T4 o3 {% t; K% s; L3.1.2 RDD简介
; w0 T. t- I0 ?- U3 w3.1.3 RDD的类型
% d' E- A$ v! {/ T3.2 RDD的实现
: {" |) m B d3.2.1 作业调度
6 i; ^* H0 T+ A2 q) ?# ]4 W; X3.2.2 解析器集成
* h2 ~$ J6 H2 ]2 `$ ?% c5 ^3.2.3 内存管理
J$ Z; b7 k* ^; {5 v0 B3.2.4 检查点支持$ i* v$ @# } J. [
3.2.5 多用户管理
* B/ l/ \6 T2 P3.3 编程接口
, U& V: D. d) b3.3.1 RDD分区(Partitions)
6 J6 }/ j: \/ E+ H& ]! w: f3.3.2 RDD位置(PreferredLocations)8 L5 N6 y- v8 P) ?! s
3.3.3 RDD依赖关系(Dependencies): b- j0 D; A3 V7 ?$ x( Y
3.3.4 RDD分区计算(Iterator)& n/ J9 u9 Y, h1 w( d" u9 D; v$ t
3.3.5 RDD分区函数(Partitioner)" F9 B0 ~9 E2 ~1 D, g: h$ `, l; t
3.4 创建操作
l9 M; S8 }6 P# ^" J' B3.4.1 并行化集合创建操作/ T8 R9 W. C F5 J
3.4.2 外部存储创建操作% a) W$ d$ D8 \8 \
3.5 转换操作
; l% X& p; K/ g! A3 [3.5.1 基础转换操作
5 F$ {2 |. G6 s& F3 c- X# F: F) ^3.5.2 键值转换操作1 @' p3 P r# x* ~! c4 K4 a
3.6 控制操作
& T8 w. m4 U$ V. u9 n3.7 行动操作# h6 V% |5 e; v
3.7.1 集合标量行动操作: X+ A; V9 R/ n+ ]
3.7.2 存储行动操作
5 _! b6 K% h2 q. @# {/ B3.8 小结
) ~% E% J6 ?4 H4 x/ i* b2 C8 G$ P第4章 Spark核心原理
: N u/ {; T9 M3 ]9 Y6 k' G4.1 消息通信原理3 x @8 W/ M# L+ B: ]% M. a
4.1.1 Spark消息通信架构; z4 f6 u! O1 p5 A Y, H
4.1.2 Spark启动消息通信
$ B8 w, C& A3 k, Z4.1.3 Spark运行时消息通信
4 `, ~8 [' L! r( R% {4.2 作业执行原理
3 S, b# H$ z( E) F/ e4 [2 {, l" [4.2.1 概述
. Q; W5 }6 p6 h# r6 a4 v+ ~" R) A4.2.2 提交作业
8 A, e: W+ R {4 I- }2 Q- J4.2.3 划分调度阶段6 t! d9 M8 G1 M7 g% @" p4 G3 `
4.2.4 提交调度阶段
% h) g4 L. ^2 L; @4.2.5 提交任务* E+ d# W3 R# Y) R7 \0 x7 f# F
4.2.6 执行任务( ~: f" K @9 o% \* Y
4.2.7 获取执行结果
' y% f* ~; o! W( [. f& Z4.3 调度算法
3 B& u2 Q' W# \' ~1 W- \4.3.1 应用程序之间
1 F+ n E# M: Q5 p3 m9 B4.3.2 作业及调度阶段之间! V. `5 U% h% J% ~
4.3.3 任务之间! {0 O0 \" }5 j% G. Z4 Y2 o! T
4.4 容错及HA
' _, N) H* g# \6 ]9 Q4.4.1 Executor异常5 O/ Q& R8 Q# `! T. D
4.4.2 Worker异常- {( v8 a% Z* p8 [& f5 m4 N
4.4.3 Master异常
, w9 Z* ^4 J6 g0 g) i4.5 监控管理
, ^3 K2 Z0 n ^4.5.1 UI监控- k0 S: I0 x& r
4.5.2 Metrics
6 {3 M. ^) J+ r6 U ~4.5.3 REST5 @+ `0 \$ T8 s( u' t6 x
4.6 实例演示+ t. t2 e3 A$ F, j# T3 {. C
4.6.1 计算年降水实例
, V- n4 y" z2 b" ~, Z1 u' `4.6.2 HA配置实例5 z. j' T4 z4 C/ t2 i: F5 O
4.7 小结5 m8 T! Y2 d2 G$ c6 }: i
第5章 Spark存储原理/ h5 p' q+ C% Z/ U9 z
5.1 存储分析
$ d0 S8 N8 C* ]% P7 i5.1.1 整体架构
- V& p7 h" O/ n& h* d5.1.2 存储级别9 U5 i0 ~8 G% ~# C, V* h, m# v
5.1.3 RDD存储调用+ F3 Z# @* Z$ |0 D
5.1.4 读数据过程, X4 @+ }4 ]9 E6 O" B3 a& C
5.1.5 写数据过程
! h2 Y! F+ `, a6 p8 l( Q7 g5.2 Shuffle分析6 |" m( p) k- t; w7 Q, s' e
5.2.1 Shuffle简介1 f& ~" J: k9 G3 X0 R
5.2.2 Shuffle的写操作
5 @4 _2 I/ w! ^2 Q6 x0 o7 d7 e5.2.3 Shuffle的读操作
; J# F/ D- I9 G7 H5.3 序列化和压缩
$ D- z& j4 _- W H5.3.1 序列化- _+ D9 F& Z% {/ i; @
5.3.2 压缩
" {3 E! ~! B' M7 e/ V6 s+ Y5.4 共享变量8 _2 E' m4 N% M. n: Y0 P( k: x! R; U
5.4.1 广播变量; k7 @6 E; ]/ n3 a
5.4.2 累加器( I8 L4 X9 ?8 s% k7 j+ |9 o: c
5.5 实例演示
- Q) {/ x' {& S* s5.6 小结
2 @" |5 j$ u7 n' J# W; A第6章 Spark运行架构
; g, L2 i$ H. V7 L3 C7 S9 }6.1 运行架构总体介绍
' M$ I3 B& g" n$ h: ^# Y6.1.1 总体介绍
6 W u3 \4 `$ U* z! o6 l( O6.1.2 重要类介绍
/ p& X8 q X3 J3 Y# D7 k2 L7 P' D6.2 本地(Local)运行模式' k6 i6 e& y3 g
6.2.1 运行模式介绍
6 ]* Y/ S3 Z/ I) [" F/ |6.2.2 实现原理. P/ e; Y+ v N2 X
6.3 伪分布(Local-Cluster)运行模式
( X0 w0 L$ s4 V6.3.1 运行模式介绍$ C) U3 ~9 m$ p+ a; B1 C
6.3.2 实现原理6 S# Q9 c# _& p$ a3 o& v
6.4 独立(Standalone)运行模式: [3 J, Y4 F6 Q5 b
6.4.1 运行模式介绍
a8 d e p; u% R" l6 E! ]6.4.2 实现原理- F- j c0 B, K. D
6.5 YARN运行模式# t) }4 E8 z# m) o0 g9 t. c8 {# J+ b
6.5.1 YARN运行框架( S0 e8 f' f6 }/ w
6.5.2 YARN-Client运行模式介绍
3 C7 y W- t9 W" f- B. W% R. E2 Q6.5.3 YARN-Client 运行模式实现原理$ a: f9 g% R z" K9 X
6.5.4 YARN-Cluster运行模式介绍
% Z) t/ E& j6 |* w6.5.5 YARN-Cluster 运行模式实现原理6 J# |) n- S0 u8 L3 T5 I- m! i
6.5.6 YARN-Client与YARN-Cluster对比
3 \! [; n* Q% o# \* C/ a$ W6.6 Mesos运行模式5 x5 x5 S: D1 q7 w7 H7 L) k
6.6.1 Mesos介绍
0 b! V3 }+ ]) Y7 r' Q9 Z y6.6.2 粗粒度运行模式介绍
( l2 b* }! z( U3 w# s T6.6.3 粗粒度实现原理
" F* B3 b' k& A3 u6.6.4 细粒度运行模式介绍
0 A+ _/ L1 Z3 E$ h. |3 y' f; K5 W N6.6.5 细粒度实现原理
* V6 N5 C |# d1 q* n4 o: f @4 N# }6.6.6 Mesos粗粒度和Mesos细粒度对比
2 e+ [ _2 D1 G" }, B& c6.7 实例演示* r! ?* K3 S! m5 x, h
6.7.1 独立运行模式实例
/ q/ r+ f( O; q0 v6.7.2 YARN-Client实例! i; s! \2 }. j; [7 q" n$ v& F
6.7.3 YARN-Cluster实例5 N" @$ r, G6 }' a
6.8 小结
; w0 ? g5 O) N' z) {) q
0 j. f# ]. w8 v! O第三篇 组件篇# x& C9 s+ }, k; Z5 ~: _2 g
第7章 Spark SQL3 u; H2 Z5 y6 W1 v
7.1 Spark SQL简介- v4 B; l5 M3 O4 E2 p0 ]8 d
7.1.1 Spark SQL发展历史5 s* F: Z' O7 e3 g2 }; u" W3 K
7.1.2 DataFrame/Dataset介绍
/ Q, B5 p& s" |% [) ^7.2 Spark SQL运行原理/ x7 f- d1 S" [# c/ w/ O: k
7.2.1 通用SQL执行原理
, I* h& G+ y1 P+ y' b: j7.2.2 SparkSQL运行架构, u! s- o2 D) b
7.2.3 SQLContext运行原理分析
+ f( s; n9 I/ K' w d* }9 I7.2.4 HiveContext介绍
' N4 h5 o* R/ q3 N: N! d8 f; |7.3 使用Hive-Console5 [; _9 N9 Z* ^4 z# Z& H) B3 h
7.3.1 编译Hive-Console
( a @1 F4 N. c! f7.3.2 查看执行计划
4 a% Q: e8 h. m; G7.3.3 应用Hive-Console! b9 K) P" h7 h
7.4 使用SQLConsole
; W* g! z3 [) {7.4.1 启动HDFS和Spark Shell- z' [/ w8 i' L: u! w* [
7.4.2 与RDD交互操作
4 ~; n2 k2 Z6 z2 O5 W* G8 S7.4.3 读取JSON格式数据$ k: g& l0 h' ]7 X, z. U% \) v
7.4.4 读取Parquet格式数据
5 i. i: R# g3 W% c! w5 v2 _ g7.4.5 缓存演示3 y- {$ D: S. n/ V, M
7.4.6 DSL演示; a' d9 ^7 F1 I4 H
7.5 使用Spark SQL CLI }; t- m# E) V7 y) D
7.5.1 配置并启动Spark SQL CLI
5 y5 w! q2 f$ ^" F" c& D" X i7.5.2 实战Spark SQL CLI
6 S: H+ r) b0 m! w+ E M( P @9 t7.6 使用Thrift Server$ U1 s# @/ n6 o; P
7.6.1 配置并启动Thrift Server
6 ]7 D7 ]$ ?6 r5 r4 N5 N* N7.6.2 基本操作2 X, D0 q& F+ b! Q: T% H6 Q H
7.6.3 交易数据实例$ }, G: ~* ^0 m5 h, ~
7.6.4 使用IDEA开发实例
/ c& n5 ^7 M$ F! v& }7.7 实例演示
! D7 y1 a4 [, `& H. U( f: F/ W8 x7.7.1 销售数据分类实例) s) x' A g+ R
7.7.2 网店销售数据统计
% r: m! @0 L: }: c$ a, ~7.8 小结8 Q& {$ m) H* ?. P; m
第8章 Spark Streaming. z" o' i9 O7 R8 e% N
8.1 Spark Streaming简介
" q: A4 n% P/ H! P6 i8.1.1 术语定义7 d6 f1 Y8 Q- N" O
8.1.2 Spark Streaming特点7 a/ ?+ K- C3 ?! R% x& p
8.2 Spark Streaming编程模型
' T( ]4 n \( H3 p7 ^ U8.2.1 DStream的输入源
1 Q7 b5 J- `6 y' d! v. m% Y& o8.2.2 DStream的操作" O3 K1 m, F) j; K& ?* u y l/ i/ \
8.3 Spark Streaming运行架构0 b5 p* l. |) X1 m* E
8.3.1 运行架构# |0 Y2 p( C7 l+ d
8.3.2 消息通信
: e1 m# Y, G7 M% I. s e8.3.3 Receiver分发: G4 V! A: [6 D, w4 m0 X3 o5 C
8.3.4 容错性2 @+ e/ c( P3 d2 `+ P
8.4 Spark Streaming运行原理) l4 {1 H# _7 ^9 f! M
8.4.1 启动流处理引擎, Z' y9 ^! X$ w s& ~/ \/ g
8.4.2 接收及存储流数据8 A5 X9 R! p& ^/ q: _% N4 O
8.4.3 数据处理
" k% Q; @/ Z2 ]8 a% }5 B! H8.5 实例演示3 R1 L0 U% C' D$ B+ o
8.5.1 流数据模拟器! h6 C; U+ K, }6 c2 K) k9 n( A
8.5.2 销售数据统计实例; @! y+ ?9 G2 I" U# x
8.5.3 Spark Streaming Kafka实例# C' R! R& w& r$ }5 A
8.6 小结- W! w% {4 z! b* {" L
第9章 Spark MLlib
8 V5 D/ O* p# H5 [9.1 Spark MLlib简介
- X* C M, e1 W1 G, |3 s- C9.1.1 Spark MLlib介绍/ g. g; ?/ n* j& k
9.1.2 Spark MLlib数据类型
/ S" H T/ v, ~9.1.3 Spark MLlib基本统计方法
9 }2 ^- h3 X; _* X/ x" B9.1.4 预言模型标记语言
6 T/ W( G* w8 {* k, A; K! F& v9.2 线性模型
: K: I+ e( m9 w- c6 H1 M9.2.1 数学公式% ~0 Y; f/ w7 j1 b
9.2.2 线性回归# l/ U7 Q( A+ C2 v4 n+ |: g
9.2.3 线性支持向量机
1 R1 k2 j) ^# _) k$ Y9.2.4 逻辑回归* _: h e7 p$ Q; u) u7 z
9.2.5 线性小二乘法、Lasso和岭回归. O' o* {( e: ]7 q
9.2.6 流式线性回归$ F" T4 _: ^2 w0 f1 X
9.3 决策树5 a1 w) M4 Q% r" U8 o
9.4 决策模型组合, S5 o2 C, s% g2 u+ z
9.4.1 随机森林
* o% s0 D" @- _9.4.2 梯度提升决策树. F3 e2 M8 S! F9 u1 ]
9.5 朴素贝叶斯( R6 c- g) I' d
9.6 协同过滤
" @$ i) c4 b% n3 A6 t9.7 聚类
7 A& G4 Y" t) {+ Q9.7.1 K-means
( a7 w" s1 c' _( i9.7.2 高斯混合
0 C9 H8 H7 h& f( p6 ]: |9 x9 s9.7.3 快速迭代聚类8 |3 q" c a( l/ ~5 B! X/ A- d
9.7.4 LDA
7 @1 s, L# J# s# A t. P# J9.7.5 二分K-means
* T( u5 p; L/ W, [+ B1 T7 K9.7.6 流式K-means
. r2 K5 }. l. e' l4 Z3 W2 f- U9 {9.8 降维6 y/ ~( b4 M3 K: G5 b4 q
9.8.1 奇异值分解降维
; P+ s& G# E/ o, F `9.8.2 主成分分析降维
9 I) ]7 R* [$ r9 C' {+ p9.9 特征提取和变换* ]! Q3 i! \) C/ R( ^/ w
9.9.1 词频—逆文档频率% Q6 u& `, e5 @# ?
9.9.2 词向量化工具# [. b' f _2 y. N' b
9.9.3 标准化: c$ z% n+ D T
9.9.4 范数化( _# X x! H- u/ x5 o1 W% I' i5 J
9.10 频繁模式挖掘
* c0 H# n8 @' _" r* |9.10.1 频繁模式增长$ X: E" s9 T9 g' E* G" T2 j
9.10.2 关联规则挖掘7 n1 C* j/ | `8 p! z4 h
9.10.3 PrefixSpan2 u1 l4 Q. z! C4 n
9.11 实例演示) f# v8 q6 v) z- f
9.11.1 K-means聚类算法实例
5 v1 K) D1 u/ w- `2 X" ~9.11.2 手机短信分类实例( S L2 w- m% d7 ]- U6 X
9.12 小结" D1 s7 R: s, w! D
第10章 Spark GraphX
' ^$ g5 n C' q% ?10.1 GraphX介绍. H1 R% N" p8 Q3 D- S
10.1.1 图计算' q: N. }# _+ m; E
10.1.2 GraphX介绍5 [- w. `5 ]2 G. ^3 |2 h% y# r
10.1.3 发展历程/ B% j' X) M" a. v j4 k
10.2 GraphX实现分析
5 X& E; g3 i! q, d M6 _& {10.2.1 GraphX图数据模型
0 Q, t; y& B9 o6 H8 N* z: d10.2.2 GraphX图数据存储
* @$ ?' Y: {& j# b6 z6 X10.2.3 GraphX图切分策略
( @3 x6 ~- Y W) W' g. Z) O10.2.4 GraphX图操作 E5 W" i Z- d; |
10.3 实例演示! x* E8 F4 }+ B2 v8 a6 C
10.3.1 图例演示/ K" e5 M; o. l
10.3.2 社区发现演示) n: L s" g9 C# `4 M+ V
10.4 小结1 U- S2 c) p; s: m+ T; u4 \# B
第11章 SparkR4 w3 S5 ]% b# g% u, k9 L
11.1 概述
; S% k& r4 L( y# R& Z% s$ q; z E# a11.1.1 R语言介绍
4 M: y4 r! L, }2 Z& l( a2 s11.1.2 SparkR介绍! M$ M& k/ X# y% _% F7 P0 V
11.2 SparkR与DataFrame
8 o6 Y* }2 @* ~% P2 B8 ~11.2.1 DataFrames介绍3 V4 `6 w* N: A
11.2.2 与DataFrame的相关操作: T+ }4 L3 q( x+ u& a& g$ g3 n/ \
11.3 编译安装SparkR! M/ I' E3 r/ o( t+ f6 c# Y* I' ]1 ?
11.3.1 编译安装R语言9 \( ]' ?' `: k
11.3.2 安装SparkR运行环境% w9 A+ X. `9 v5 i( F3 [9 O: h
11.3.3 安装SparkR' [8 A3 K- b, O) U- D3 d4 S5 x% \1 R
11.3.4 启动并验证安装
# Z: A. |( Q1 @; b' V7 g+ n f. R# p11.4 实例演示
* W, V: A0 O. W% k0 i) F7 M& b+ J11.5 小结% B8 g# d, i/ m" z. m6 b) i7 B: x
第12章 Alluxio
. n! _$ U/ O' A! I- R12.1 Alluxio简介
, e! q; @0 I4 u1 Q( a, s, M12.1.1 Alluxio介绍
5 Q- t: t% m4 }1 I5 X; O# I: r12.1.2 Alluxio系统架构8 W2 U! C; t/ j
12.1.3 HDFS与Alluxio
% K1 P6 H/ ^3 K# D: B12.2 Alluxio编译部署
5 L) c3 o& H9 ]- D0 X12.2.1 编译Alluxio8 P1 l0 _6 Y: l( h9 d! z
12.2.2 单机部署Alluxio
4 o# [0 l l3 h- s12.2.3 集群模式部署Alluxio
7 ?7 N! H* C! j* ]/ p0 n9 z8 s12.3 Alluxio命令行使用- E9 t% x4 F5 ^' W
12.3.1 接口说明! w" ~* r7 `3 \
12.3.2 接口操作示例
4 @/ Q. W/ K; ^( p12.4 实例演示* ]6 f! H% i* K
12.4.1 启动环境
3 z+ I, J4 D- J* T7 F+ Q! l* o$ h8 D12.4.2 Alluxio上运行Spark' q, h/ j" D* B+ y
12.4.3 Alluxio上运行MapReduce) r" O: j- k0 F- p M
12.5 小结
9 S c7 S( Z. q
& y+ l# {0 w. d7 }: }8 V9 M2 v# }: `# f, Z5 ]& a
百度云盘下载地址(完全免费-绝无套路): V( a) P1 F$ n
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|