Spark是现如今互联网大数据行业最活跃性、最受欢迎、最高效率的互联网大数据通用性测算服务平台,是Apache手机软件慈善基金会下全部开源网站项目中几大*开源网站项目之首。
在“One Stack to rule them all”核心理念的引导下,Spark应用场景RDD取得成功地搭建起了大数据处理的集成化解决方法,将MapReduce、Streaming、SQL、Machine Learning、Graph Processing等互联网大数据测算实体模型一致到1个技术性堆栈中,开发人员应用相同的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企业级开发设计所必须的所有具体内容和实战必须。
目录
- 第1章 Spark编程模型 1
- 1.1 Spark:一体化、多元化的高速
- 大数据通用计算平台和库 1
- 1.1.1 为什么需要使用Spark 5
- 1.1.2 Spark技术生态系统简介 9
- 1.2 Spark大数据处理框架 20
- 1.2.1 Spark速度为何如此之快 20
- 1.2.2 RDD:分布式函数式编程 24
- 1.3 Spark子框架解析 28
- 1.3.1 图计算框架Spark GraphX 28
- 1.3.2 实时流处理框架(Spark Streaming) 41
- 1.3.3 交互式SQL处理框架Spark SQL 46
- 1.3.4 机器学习框架(Spark MLlib) 49
- 第2章 构建Spark分布式集群 55
- 2.1 搭建Hadoop单机版本和伪分布式开发环境 55
- 2.1.1 开发Hadoop需要的基本软件 56
- 2.1.2 安装每个软件 58
- 2.1.3 配置Hadoop单机模式并运行Wordcount示例 76
- 2.1.3 配置Hadoop伪分布模式并运行Wordcount示例 84
- 2. 2 搭建 Hadoop分布式集群的 92
- 2.2.1 在VMWare 中准备第二、第三台运行Ubuntu系统的机器 92
- 2.2.2 按照配置伪分布式模式的方式配置新创建运行Ubuntu系统的机器 93
- 2.2.3 配置Hadoop分布式集群环境 94
- 2.2.4 测试Hadoop分布式集群环境 105
- 2.3 Spark集群的动手搭建 108
- 2.3.1 Spark集群需要的软件 108
- 2.3.2 安装每个软件 110
- 2.3.3 启动并查看集群的状况 116
- 2.4 构建Hadoop单机版本和伪分布式环境 120
- 2.4.1 通过Spark的shell测试Spark的工作 121
- 2.4.2 使用Spark的cache机制观察一下效率的提升 125
- 第3章 Spark开发环境及其测试 129
- 3.1 搭建和设置IDEA开发环境 129
- 3.1.1 构建Spark的IDE开发环境 129
- 3.1.2 配置Spark的IDE开发环境 132
- 3.2 测试IDEA环境 146
- 3.3 实战:在IDEA中开发代码,并运行在Spark集群中 148
- 第4章 Spark RDD与编程API实战 159
- 4.1 深度解析Spark RDD 159
- 4.2 Transformation Operations动手实战 165
- 4.3 Action Operations动手实战 175
- 4.4 Spark API综合实战 179
- 第5章 Spark运行模式深入解析 191
- 5.1 Spark运行模式概述 192
- 5.1.1 Spark的运行模式列表 196
- 5.1.2 Spark的基本工作流程 197
- 5.2 Standalone模式 201
- 5.2.1 部署及程序运行 202
- 5.2.2 内部实现原理 206
- 5.3 Yarn-Cluster模式 234
- 5.3.1 部署及程序运行 235
- 5.3.2 内部实现原理 237
- 5.4 Yarn-Client模式 243
- 5.4.1 部署及运行程序 243
- 5.4.2 内部实现原理 244
- 第6章 Spark内核解析 247
- 6.1 Spark内核初探 247
- 6.1.1 Spark内核核心术语解析 247
- 6.1.2 Spark集群概览 250
- 6.1.3 Spark核心组件 251
- 6.1.4 Spark任务调度系统初见 252
- 6.2 Spark内核核心源码解读 256
- 6.2.1 SparkContext核心源码解析初体验 256
- 6.2.2 TaskSceduler启动源码解析初体验 260
- 6.2.3 DAGScheduler源码解读初体验 261
- 6.2.4 Spark的Web监控页面 262
- 6.3 以RDD的count操作为例触发Job全生命周期源码研究 263
- 6.4 Akka驱动下的Driver、Master、Worker 276
- 6.4.1 Driver中的AppClient源码解析 276
- 6.4.2 AppClient注册Master 279
- 6.4.3 Worker中Executor启动过程源代码解析 282
- 第7章 GraphX大规模图计算与图挖掘实战 287
- 7.1 Spark GraphX概览 288
- 7.2 Spark GraphX设计实现的核心原理 291
- 7.3 Table operator和Graph Operator 295
- 7.4 Vertices、edges、triplets 296
- 7.5 以最原始的方式构建graph 299
- 7.6 动手编写第一个Graph代码实例并进行Vertices、edges、triplets操作 299
- 7.7 在Spark集群上使用文件中的数据加载成为graph并进行操作 310