大数据Spark企业级实战书籍推荐.docx
《大数据Spark企业级实战书籍推荐.docx》由会员分享,可在线阅读,更多相关《大数据Spark企业级实战书籍推荐.docx(13页珍藏版)》请在冰豆网上搜索。
大数据Spark企业级实战书籍推荐
Lifeisshort,youneedSpark!
Spark是当今大数据领域最活跃最热门的高效的大数据通用计算平台。
基于RDD,Spark成功地构建起了一体化、多元化的大数据处理体系。
雅虎、Conviva、淘宝、网易、大众点评、优酷土豆、腾讯、华为等公司均在生产环境中部署了大规模的Spark。
《大数据Spark企业级实战》完全从企业处理大数据业务场景的角度出发,完全基于实战代码来组织内容,从零起步,不需任何基础,完全无痛地掌握Spark大数据处理实战技术,源码解析:
Spark集群的动手构建
Spark架构
Spark内核的深入解析
Spark四大子框架的细致剖析和实战
Tachyon文件系统揭秘
Spark多语言编程
SparkR
Spark性能调优和最佳实践
一站式实现Spark企业级开发实战!
内容简介:
Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台,是Apache软件基金会下所有开源项目中三大顶级开源项目之一。
在“OneStacktorulethemall”理念的指引下,Spark基于RDD成功地构建起了大数据处理的一体化解决方案,将MapReduce、Streaming、SQL、MachineLearning、GraphProcessing等大数据计算模型统一到一个技术堆栈中,开发者使用一致的API操作Spark中的所有功能;更为重要的是Spark的SparkSQL、MLLib、GraphX、SparkStreaming等四大子框架之间可以在内存中完美的无缝集成并可以互相操作彼此的数据,这不仅打造了Spark在当今大数据计算领域其他任何计算框架都无可匹敌的优势,更使得Spark正在加速成为大数据处理中心首选的和唯一的计算平台。
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、SparkSQL、MLLib、GraphX、SparkStreaming、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.1Spark:
一体化、多元化的高速
大数据通用计算平台和库
1.1.1为什么需要使用Spark
1.1.2Spark技术生态系统简介
1.2Spark大数据处理框架
1.2.1Spark速度为何如此之快
1.2.2RDD:
分布式函数式编程
1.3Spark子框架解析
1.3.1图计算框架SparkGraphX
1.3.2实时流处理框架
(SparkStreaming)
1.3.3交互式SQL处理框架
SparkSQL
1.3.4机器学习框架
(SparkMLlib)
第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.3Spark集群的动手搭建
2.3.1Spark集群需要的软件
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章 SparkRDD与编程API
实战
4.1深度解析SparkRDD
4.2TransformationOperations
动手实战
4.3ActionOperations动手实战
4.4SparkAPI综合实战
第5章 Spark运行模式深入解析
5.1Spark运行模式概述
5.1.1Spark的运行模式列表
5.1.2Spark的基本工作流程
5.2Standalone模式
5.2.1部署及程序运行
5.2.2内部实现原理
5.3Yarn-Cluster模式
5.3.1部署及程序运行
5.3.2内部实现原理
5.4Yarn-Client模式
5.4.1部署及运行程序
5.4.2内部实现原理
第6章 Spark内核解析
6.1Spark内核初探
6.1.1Spark内核核心术语解析
6.1.2Spark集群概览
6.1.3Spark核心组件
6.1.4Spark任务调度系统初见
6.2Spark内核核心源码解读
6.2.1SparkContext核心源码
解析初体验
6.2.2TaskSceduler启动源码
解析初体验
6.2.3DAGScheduler源码解读
初体验
6.2.4Spark的Web监控页面
6.3以RDD的count操作为例触发
Job全生命周期源码研究
6.4Akka驱动下的Driver、
Master、Worker
6.4.1Driver中的AppClient
源码解析
6.4.2AppClient注册Master
6.4.3Worker中Executor启动
过程源代码解析
第7章 GraphX大规模图计算与
图挖掘实战
7.1SparkGraphX概览
7.2SparkGraphX设计实现的
核心原理
7.3Tableoperator和Graph
Operator
7.4Vertices、edges、triplets
7.5以最原始的方式构建graph
7.6动手编写第一个Graph代码
实例并进行Vertices、edges、
triplets操作
7.7在Spark集群上使用文件中
的数据加载成为graph并进
行操作
7.8在Spark集群上掌握比较重
要的图操作
7.9SparkGraphX图算法
7.10淘宝对SparkGraphX的大
规模使用
第8章 SparkSQL原理与实战
8.1为什么使用SparkSQL
8.1.1SparkSQL的发展历程
8.1.2SparkSQL的性能
8.2SparkSQL运行架构
8.2.1Tree和Rule
8.2.2sqlContext的运行过程
8.2.3hiveContext的运行过程
8.2.4catalyst优化器
8.3解析SparkSQL组件
8.3.1LogicalPlan
8.3.2SqlParser
8.3.3Analyzer
8.3.4Optimizer
8.4深入了解SparkSQL运行
的计划
8.4.1hive/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.4Hive数据的准备工作
8.6SparkSQL之基础应用
8.6.1sqlContext的基础应用
8.6.2hiveContext的基础应用
8.6.3混合使用
8.6.4缓存的使用
8.6.5DSL的使用
8.7ThriftServer和CLI
8.7.1令人惊讶的CLI
8.7.2ThriftServer
8.8SparkSQL之综合应用
8.8.1店铺分类
8.8.2PageRank
8.9SparkSQL之调优
8.9.1并行性
8.9.2高效的数据格式
8.9.3内存的使用
8.9.4合适的Task
8.9.5其他的一些建议
第9章 MachineLearningon
Spark
9.1SparkMLlib机器学习
9.1.1机器学习快速入门
9.1.2SparkMLlib介绍
9.1.3SparkMLlib架构解析
9.1.4SparkMllib核心解析
9.2MLlib经典算法解析和案例
实战
9.2.1LinearRegression解析和
实战
9.2.2K-Means解析和实战
9.2.3协同过滤算法分析和案例
实战
9.3MLLib其他常用算法解析
和代码实战
9.3.1BasicStatics解析和实战
9.3.2MLlib朴素贝叶斯解析和
实战
9.3.3MLlib决策树解析和实战
第10章 Tachyon文件系统
10.1Tachyon文件系统概述
10.1.1Tachyon文件系统简介
10.1.2HDFS与Tachyon
10.1.3Tachyon设计原理
10.2Tachyon入门
10.2.1Tachyon部署
10.2.2TachyonAPI的使用
10.2.3在MapReduce、Spark
上使用Tachyon
10.3Tachyon深度解析
10.3.1Tachyon整体设计概述
10.3.2TachyonMaster启动流
程分析
10.3.3TachyonWorker启动流
程分析
10.3.4客户端读写文件源码分析
10.4Tachyon配置参数一览
10.5小结
第11章 SparkStreaming原理
与实战
11.1SparkStreaming原理
11.1.1原理和运行场景
11.1.2编程模型DStream
11.1.3持久化、容错和优化
11.2SparkStreaming实战
11.2.1源码解析
11.2.2SparkStreaming实战案例
第12章 Spark多语言编程
12.1Spark多语言编程的特点
12.2Spark编程模型
12.3深入Spark多语言编程
12.4Spark多语言编程综合实例
第13章 R语言的分布式编程
之SparkR
13.1R语言快速入门
13.1.1R语言是什么
13.1.2R语言的特点
13.1.3R语言的安装
13.1.4R的核心概念
13.1.5R动手实战
13.2使用SparkR
13.2.1SparkR的安装
13.2.2使用SparkR编写
WordCount
13.2.3使用SparkR的更多
代码示例
第14章 Spark性能调优和
最佳实践
14.1Spark性能调优
14.1.1Spark性能优化的12大
问题及其解决方法
14.1.2Spark内存优化
14.1.3RDD分区
14.1.4Spark性能优化实例
14.2Spark性能调优细节
14.2.1broadcast和accumulator
14.2.2reduce和reduceByKey
14.2.3深入reduceByKey
第15章 Spark源码解析
15.1BlockManager源码解析
15.2Cache源码解析
15.3Checkpoint源码解析
附录A 动手实战Scala三部曲
第一部动手体验Scala
第二部 动手实战Scala面向
对象编程
第三部动手实战Scala函数式编程