Apache Spark源码剖析pdf

图书网 2020年8月29日21:00:06
评论
1.4K
摘要

适读人群 :本书对于Spark应用开发人员及Spark集群管理人员都有极好的学习价值;对于那些想从源码学习而又不知如何入手的读者,也不失为一种借鉴。
1.《Apache Spark源码剖析》全面、系统地介绍了Spark源码,深入浅出,细致入微
2.提供给读者一系列分析源码的实用技巧,并给出一个合理的阅读顺序
3.始终抓住资源分配、消息传递、容错处理等基本问题,抽丝拨茧
4.一步步寻找答案,所有问题迎刃而解,使读者知其然更知其所以然

Apache Spark源码剖析 作者:许鹏

Apache Spark源码剖析 出版社:电子工业出版社

Apache Spark源码剖析 内容简介

《Apache Spark源码剖析》以Spark 1.02版本源码为切入点,着力于探寻Spark所要解决的主要问题及其解决办法,通过一系列精心设计的小实验来分析每一步背后的处理逻辑。

《Apache Spark源码剖析》第3~5章详细介绍了Spark Core中作业的提交与执行,对容错处理也进行了详细分析,有助读者深刻把握Spark实现机理。第6~9章对Spark Lib库进行了初步的探索。在对源码有了一定的分析之后,读者可尽快掌握Spark技术。

Apache Spark源码剖析 目录

第一部分 Spark概述

第1章 初识Spark

1.1 大数据和Spark

1.1.1 大数据的由来

1.1.2 大数据的分析

1.1.3 Hadoop

1.1.4 Spark简介

1.2 与Spark的第一次亲密接触

1.2.1 环境准备

1.2.2 下载安装Spark

1.2.3 Spark下的WordCount

第二部分 Spark核心概念

第2章 Spark整体框架

2.1 编程模型

2.1.1 RDD

2.1.2 Operation

2.2 运行框架

2.2.1 作业提交

2.2.2 集群的节点构成

2.2.3 容错处理

2.2.4 为什么是Scala

2.3 源码阅读环境准备

2.3.1 源码下载及编译

2.3.2 源码目录结构

2.3.3 源码阅读工具

2.3.4 本章小结

第3章 SparkContext初始化

3.1 spark-shell

3.2 SparkContext的初始化综述

3.3 Spark Repl综述

3.3.1 Scala Repl执行过程

3.3.2 Spark Repl

第4章 Spark作业提交

4.1 作业提交

4.2 作业执行

4.2.1 依赖性分析及Stage划分

4.2.2 Actor Model和Akka

4.2.3 任务的创建和分发

4.2.4 任务执行

4.2.5 Checkpoint和Cache

4.2.6 WebUI和Metrics

4.3 存储机制

4.3.1 Shuffle结果的写入和读取

4.3.2 Memory Store

4.3.3 存储子模块启动过程分析

4.3.4 数据写入过程分析

4.3.5 数据读取过程分析

4.3.6 TachyonStore

第5章 部署方式分析

5.1 部署模型

5.2 单机模式local

5.3 伪集群部署local-cluster

5.4 原生集群Standalone Cluster

5.4.1 启动Master

5.4.2 启动Worker

5.4.3 运行spark-shell

5.4.4 容错性分析

5.5 Spark On YARN

5.5.1 YARN的编程模型

5.5.2 YARN中的作业提交

5.5.3 Spark On YARN实现详解

5.5.4 SparkPi on YARN

第三部分 Spark Lib

第6章 Spark Streaming

6.1 Spark Streaming整体架构

6.1.1 DStream

6.1.2 编程接口

6.1.3 Streaming WordCount

6.2 Spark Streaming执行过程

6.2.1 StreamingContext初始化过程

6.2.2 数据接收

6.2.3 数据处理

6.2.4 BlockRDD

6.3 窗口操作

6.4 容错性分析

6.5 Spark Streaming vs. Storm

6.5.1 Storm简介

6.5.2 Storm和Spark Streaming对比

6.6 应用举例

6.6.1 搭建Kafka Cluster

6.6.2 KafkaWordCount

第7章 SQL

7.1 SQL语句的通用执行过程分析

7.2 SQL On Spark的实现分析

7.2.1 SqlParser

7.2.2 Analyzer

7.2.3 Optimizer

7.2.4 SparkPlan

7.3 Parquet 文件和JSON数据集

7.4 Hive简介

7.4.1 Hive 架构

7.4.2 HiveQL On MapReduce执行过程分析

7.5 HiveQL On Spark详解

7.5.1 Hive On Spark环境搭建

7.5.2 编译支持Hadoop 2.x的Spark

7.5.3 运行Hive On Spark测试用例

第8章 GraphX

8.1 GraphX简介

8.1.1 主要特点

8.1.2 版本演化

8.1.3 应用场景

8.2 分布式图计算处理技术介绍

8.2.1 属性图

8.2.2 图数据的存储与分割

8.3 Pregel计算模型

8.3.1 BSP

8.3.2 像顶点一样思考

8.4 GraphX图计算框架实现分析

8.4.1 基本概念

8.4.2 图的加载与构建

8.4.3 图数据存储与分割

8.4.4 操作接口

8.4.5 Pregel在GraphX中的源码实现

8.5 PageRank

8.5.1 什么是PageRank

8.5.2 PageRank核心思想

第9章 MLLib

9.1 线性回归

9.1.1 数据和估计

9.1.2 线性回归参数求解方法

9.1.3 正则化

9.2 线性回归的代码实现

9.2.1 简单示例

9.2.2 入口函数train

9.2.3 最优化算法optimizer

9.2.4 权重更新update

9.2.5 结果预测predict

9.3 分类算法

9.3.1 逻辑回归

9.3.2 支持向量机

9.4 拟牛顿法

9.4.1 数学原理

9.4.2 代码实现

9.5 MLLib与其他应用模块间的整合

第四部分 附录

附录A Spark源码调试

附录B 源码阅读技巧

Apache Spark源码剖析 精彩文摘

上网本是在2009年传统互联网与移动互联网正面交锋中一个很奇怪的产物。它很像便携式笔记本,但体积重量更小,性能也略差,关键是价格便宜。此外,它拥有移动互联网的特征,依靠不错的电池性能,比笨重的便携式笔记本有更长的使用时间。上网本凭借和PC一样的使用环境,比刚刚冒头的智能手机、平板电脑更符合用户的使用习惯。

宏碁正是看中了上网本这一跨界优势,在攀越巅峰的最后一步上,把所有的力气几乎都投在了这里。当时的首席执行官兰奇就多次对外强调,公司的生存智慧是在智能手机与笔记本市场中间的交融地带。言下之意,这个交融地带正是上网本。

上网本的表现没有让宏碁失望。根据IDC数据,2008年,全球上网本出货超过1000万台,2010年更是超过3300万台,而宏暮上网本出货份额一度超过这一市场的四分之一。王振堂极其自信地认为上网本代表着3C融合的开始:“上网本就是PC与手机的汇流,比任何智能手机都复杂强大。”

如此骄人的战绩,怎能不让宏碁倾其所有成为上网本的王者,继而成为PC市场的主宰?很多宏碁人在当时都这么认为。更为重要的是上网本里透着宏碁自创始以来就没有改变过的企业性格。一个以代工起家并闻名的企业,一直都将低价作为其取胜的核心法宝。

这几乎是台湾IT企业的固有模式,采用简单的战略进入全球电子产业,一切手段失效后便降价。在PC时代,台湾的IT企业只需要仰仗微软和英特尔之力,通过它们提供早期的芯片设计和操作系统升级,以“代工”模式组装出低廉的产品即可占有市场。宏碁无疑是将这一点发挥到极致的企业。

但上网本最终将这种“代工”的性格优势和缺陷展现得淋漓尽致。在崛起初期,上网本的外部环境还是传统的PC时代,所以一路高歌猛进。之后PC时代开始向移动互联网时代变革,此时与主流笔记本应用模式没有根本区别的上网本,虽然提高了出货量,但并没有帮助宏暮建立一种类似苹果的平台化商业模式,反而还因为低价策略拉低了它的利润率。

图书网:Apache Spark源码剖析pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

软件工程/开发项目管理

软件设计重构pdf

以4个设计原则为中心,全面呈现25种在软件项目中导致技术债务的设计坏味 提供一种独特的坏味命名方法,帮助理解坏味的由来并指出潜在重构方法 包含丰富的例证,展现糟糕设计实践的潜在坏味...
软件工程/开发项目管理

DevOps 最佳实践pdf

DevOps 最佳实践 作者: Bart de Best(巴特・德・贝斯特) DevOps 最佳实践 出版社:电子工业出版社 DevOps 最佳实践 内容简介 近年来,许多组织都体会到了使用敏捷方法的...
软件工程/开发项目管理

Android组件化架构pdf

Android走过的十个年头,其技术演进也是有迹可循的,本书作者基于自己在大型App架构的技术演进中成长的经历,将遇到的相关问题进行深入剖析,包括Android 组件化架构、模块化...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: