大数据Spark企业级实战书籍推荐

大数据Spark企业级实战书籍推荐
大数据Spark企业级实战书籍推荐

Life is short,you need Spark!

Spark是当今大数据领域最活跃最热门的高效的大数据通用计算平台。基于RDD,Spark成功地构建起了一体化、多元化的大数据处理体系。

雅虎、Conviva、淘宝、网易、大众点评、优酷土豆、腾讯、华为等公司均在生产环境中部署了大规模的Spark。

《大数据Spark企业级实战》完全从企业处理大数据业务场景的角度出发,完全基于实战代码来组织内容,从零起步,不需任何基础,完全无痛地掌握Spark大数据处理实战技术,源码解析:

Spark集群的动手构建

Spark架构

Spark内核的深入解析

Spark四大子框架的细致剖析和实战

Tachyon文件系统揭秘

Spark多语言编程

SparkR

Spark性能调优和最佳实践

一站式实现Spark企业级开发实战!

内容简介:

Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台,是Apache软件基金会下所有开源项目中三大顶级开源项目之一。

在“One Stack to rule them all”理念的指引下,Spark基于RDD成功地构建起了大数据处理的一体化解决方案,将MapReduce、Streaming、SQL、Machine Learning、Graph Processing等大数据计算模型统一到一个技术堆栈中,开发者使用一致的API操作Spark中的所有功能;更为重要的是Spark的Spark SQL、MLLib、GraphX、Spark Streaming等四大子框架之间可以在内存中完美的无缝集成并可以互相操作彼此的数据,这不仅打造了Spark在当今大数据计算领域其他任何计算框架都无可匹敌的优势,更使得Spark正在加速成为大数据处理中心首选的和唯一的计算平台。

《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言编程、Spark常见问题及调优等,并且结合Spark源码细致的解析了Spark内核和四大子框架,最后在附录中提供了的Spark的开发语言Scala快速入门实战内容,学习完此书即可胜任绝大多数的企业级Spark开发需要。

《大数据Spark企业级实战》从零起步,完全从企业处理大数据业务场景的角度出发,基于实战代码来组织内容,对于一名大数据爱好者来说,《大数据Spark企业级实战》内容可以帮助您一站式地完成从零起步到进行Spark企业级开发所需要的全部核心内容和实战需要。

作者简介:

王家林,Spark亚太研究院首席专家,中国移动互联网和云计算大数据集大成者。在Spark、Hadoop、Android等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到0.9.1共13个版本的Spark源码,并已完成2014年5月31日发布的Spark1.0源码研究。

目录:

第1章Spark编程模型

1.1 Spark:一体化、多元化的高速

大数据通用计算平台和库

1.1.1 为什么需要使用Spark

1.1.2 Spark技术生态系统简介

1.2 Spark大数据处理框架

1.2.1 Spark速度为何如此之快

1.2.2 RDD:分布式函数式编程

1.3 Spark子框架解析

1.3.1 图计算框架Spark GraphX

1.3.2 实时流处理框架

(Spark Streaming)

1.3.3 交互式SQL处理框架

Spark SQL

1.3.4 机器学习框架

(Spark MLlib)

第2章构建Spark分布式集群2.1 搭建Hadoop单机版本和伪

分布式开发环境

2.1.1 开发Hadoop需要的基本软件

2.1.2 安装每个软件

2.1.3 配置Hadoop单机模式并运行Wordcount示例

2.1.4 配置Hadoop伪分布模式并运行Wordcount示例

2.2 搭建Hadoop分布式集群2.2.1 在VMWare 中准备第二、第三台运行Ubuntu系统的

机器

2.2.2 按照配置伪分布式模式

的方式配置新创建运行

Ubuntu系统的机器

2.2.3 配置Hadoop分布式集群环境

2.2.4 测试Hadoop分布式集群环境

2.3 Spark集群的动手搭建2.3.1 Spark集群需要的软件2.3.2 安装每个软件

2.3.3 启动并查看集群的状况2.4 构建Hadoop单机版本和伪

分布式环境

2.4.1 通过Spark的shell测试Spark的工作

2.4.2 使用Spark的cache机制观察一下效率的提升

第3章Spark开发环境及其测试3.1 搭建和设置IDEA开发环境3.1.1 构建Spark的IDE开发

环境

3.1.2 配置Spark的IDE开发

环境

3.2 测试IDEA环境

3.3 实战:在IDEA中开发代码,并运行在Spark集群中

第4章Spark RDD与编程API

实战

4.1 深度解析Spark RDD

4.2 Transformation Operations

动手实战

4.3 Action Operations动手实战4.4 Spark API综合实战

第5章Spark运行模式深入解析5.1 Spark运行模式概述

5.1.1 Spark的运行模式列表5.1.2 Spark的基本工作流程5.2 Standalone模式

5.2.1 部署及程序运行

5.2.2 内部实现原理

5.3 Yarn-Cluster模式

5.3.1 部署及程序运行

5.3.2 内部实现原理

5.4 Yarn-Client模式

5.4.1 部署及运行程序

5.4.2 内部实现原理

第6章Spark内核解析

6.1 Spark内核初探

6.1.1 Spark内核核心术语解析6.1.2 Spark集群概览

6.1.3 Spark核心组件

6.1.4 Spark任务调度系统初见6.2 Spark内核核心源码解读6.2.1 SparkContext核心源码

解析初体验

6.2.2 TaskSceduler启动源码

解析初体验

6.2.3 DAGScheduler源码解读

初体验

6.2.4 Spark的Web监控页面6.3 以RDD的count操作为例触发Job全生命周期源码研究

6.4 Akka驱动下的Driver、Master、Worker

6.4.1 Driver中的AppClient

源码解析

6.4.2 AppClient注册Master 6.4.3 Worker中Executor启动

过程源代码解析

第7章GraphX大规模图计算与

图挖掘实战

7.1 Spark GraphX概览

7.2 Spark GraphX设计实现的

核心原理

7.3 Table operator和Graph Operator

7.4 Vertices、edges、triplets 7.5 以最原始的方式构建graph 7.6 动手编写第一个Graph代码

实例并进行Vertices、edges、triplets操作

7.7 在Spark集群上使用文件中

的数据加载成为graph并进

行操作

7.8 在Spark集群上掌握比较重

要的图操作

7.9 Spark GraphX图算法

7.10 淘宝对Spark GraphX的大

规模使用

第8章Spark SQL原理与实战8.1 为什么使用Spark SQL 8.1.1 Spark SQL的发展历程8.1.2 Spark SQL的性能

8.2 Spark SQL运行架构

8.2.1 Tree和Rule

8.2.2 sqlContext的运行过程8.2.3 hiveContext的运行过程8.2.4 catalyst优化器

8.3 解析Spark SQL组件

8.3.1 LogicalPlan

8.3.2 SqlParser

8.3.3 Analyzer

8.3.4 Optimizer

8.4 深入了解Spark SQL运行

的计划

8.4.1 hive/console的安装过程

和原理

8.4.2 常用操作

8.4.3 不同数据源的运行计划8.4.4 不同查询的运行计划8.4.5 查询的优化

8.5 搭建测试环境

8.5.1 搭建虚拟集群(Hadoop1、Hadoop2、Hadoop3)

8.5.2 搭建客户端

8.5.3 文件数据的准备工作8.5.4 Hive数据的准备工作

8.6 Spark SQL之基础应用8.6.1 sqlContext的基础应用8.6.2 hiveContext的基础应用

8.6.3 混合使用

8.6.4 缓存的使用

8.6.5 DSL的使用

8.7 ThriftServer和CLI

8.7.1 令人惊讶的CLI 8.7.2 ThriftServer

8.8 Spark SQL之综合应用8.8.1 店铺分类

8.8.2 PageRank

8.9 Spark SQL之调优

8.9.1 并行性

8.9.2 高效的数据格式8.9.3 内存的使用

8.9.4 合适的Task

8.9.5 其他的一些建议

第9章Machine Learning on Spark

9.1 Spark MLlib机器学习9.1.1 机器学习快速入门9.1.2 Spark MLlib介绍9.1.3 Spark MLlib架构解析9.1.4 Spark Mllib核心解析9.2 MLlib经典算法解析和案例

实战

9.2.1 Linear Regression解析和实战

9.2.2 K-Means解析和实战9.2.3 协同过滤算法分析和案例实战

9.3 MLLib其他常用算法解析

和代码实战

9.3.1 Basic Statics解析和实战9.3.2 MLlib朴素贝叶斯解析和实战

9.3.3 MLlib决策树解析和实战

第10章Tachyon文件系统10.1 Tachyon文件系统概述10.1.1 Tachyon文件系统简介10.1.2 HDFS与Tachyon 10.1.3 Tachyon设计原理10.2 Tachyon入门

10.2.1 Tachyon部署10.2.2 Tachyon API的使用10.2.3 在MapReduce、Spark 上使用Tachyon

10.3 Tachyon深度解析

10.3.1 Tachyon整体设计概述10.3.2 Tachyon Master启动流

程分析

10.3.3 Tachyon Worker启动流程分析

10.3.4 客户端读写文件源码分析10.4 Tachyon配置参数一览

10.5 小结

第11章Spark Streaming原理

与实战

11.1 Spark Streaming原理11.1.1 原理和运行场景11.1.2 编程模型DStream 11.1.3 持久化、容错和优化11.2 Spark Streaming实战11.2.1 源码解析

11.2.2 Spark Streaming实战案例

第12章Spark多语言编程

12.1 Spark多语言编程的特点12.2 Spark编程模型

12.3 深入Spark多语言编程12.4 Spark多语言编程综合实例

第13章R语言的分布式编程

之SparkR

13.1 R语言快速入门

13.1.1 R语言是什么

13.1.2 R语言的特点

13.1.3 R语言的安装

13.1.4 R的核心概念

13.1.5 R动手实战

13.2 使用SparkR

13.2.1 SparkR的安装

13.2.2 使用SparkR编写WordCount

13.2.3 使用SparkR的更多

代码示例

第14章Spark性能调优和

最佳实践

14.1 Spark性能调优

14.1.1 Spark性能优化的12大

问题及其解决方法

14.1.2 Spark内存优化14.1.3 RDD分区

14.1.4 Spark性能优化实例

14.2 Spark性能调优细节14.2.1 broadcast和accumulator 14.2.2 reduce 和reduceByKey 14.2.3 深入reduceByKey

第15章Spark源码解析

15.1 BlockManager源码解析15.2 Cache源码解析

15.3 Checkpoint源码解析

附录A动手实战Scala三部曲

第一部动手体验Scala

第二部动手实战Scala面向

对象编程

第三部动手实战Scala函数式编程

相关主题
相关文档
最新文档