Spark最佳实践
资源名称:Spark最佳实践
内容简介:
本书是Spark实战指南,全书共分8章。前4章介绍Spark的部署、工作机制和内核,后4章分别通过实战项目介绍Spark SQL、Spark Streaming、Spark GraphX和Spark MLib功能模块。此外,本书详细介绍了常见的实战问题,比如大数据环境下的配置设置、程序调优等。本书附带的一键安装脚本,更能为初学者提供很大帮助。
资源目录:
第1章 Spark与大数据 1
1.1 大数据的发展及现状 1
1.1.1 大数据时代所面临的问题 1
1.1.2 谷歌的大数据解决方案 2
1.1.3 Hadoop生态系统 3
1.2 Spark应时而生 4
1.2.1 Spark的起源 4
1.2.2 Spark的特点 5
1.2.3 Spark的未来发展 6
第2章 Spark基础 8
2.1 Spark本地单机模式体验 8
2.1.1 安装虚拟机 8
2.1.2 安装JDK 19
2.1.3 下载Spark预编译包 21
2.1.4 本地体验Spark 22
2.2 高可用Spark分布式集群部署 25
2.2.1 集群总览 26
2.2.2 集群机器的型号选择 28
2.2.3 初始化集群机器环境 29
2.2.4 部署ZooKeeper集群 33
2.2.5 编译Spark 35
2.2.6 部署Spark Standalone集群 37
2.2.7 高可用Hadoop集群 40
2.2.8 让Spark运行在YARN上 40
2.2.9 一键部署高可用Hadoop +Spark集群 42
2.3 Spark编程指南 43
2.3.1 交互式编程 43
2.3.2 RDD创建 44
2.3.3 RDD操作 47
2.3.4 使用其他语言开发Spark程序 54
2.4 打包和提交 54
2.4.1 编译、链接、打包 54
2.4.2 提交 56
第3章 Spark工作机制 58
3.1 调度管理 58
3.1.1 集群概述及名词解释 58
3.1.2 Spark程序之间的调度 60
3.1.3 Spark程序内部的调度 63
3.2 内存管理 65
3.2.1 RDD持久化 65
3.2.2 共享变量 66
3.3 容错机制 67
3.3.1 容错体系概述 67
3.3.2 Master节点失效 68
3.3.3 Slave节点失效 69
3.4 监控管理 69
3.4.1 Web界面 69
3.4.2 REST API 72
3.4.3 Metrics指标体系 73
3.4.4 其他监控工具 73
3.5 Spark程序配置管理 73
3.5.1 Spark程序配置加载过程 74
3.5.2 环境变量配置 74
3.5.3 Spark属性项配置 74
3.5.4 查看当前的配置 76
3.5.5 配置Spark日志 76
第4章 Spark内核讲解 77
4.1 Spark核心数据结构RDD 77
4.1.1 RDD的定义 78
4.1.2 RDD的Transformation 80
4.1.3 RDD的Action 82
4.1.4 Shuffle 83
4.2 SparkContext 84
4.2.1 SparkConf配置 84
4.2.2 初始化过程 85
4.2.3 其他功能接口 87
4.3 DAG调度 87
4.3.1 DAGScheduler 87
4.3.2 TaskScheduler 90
第5章 Spark SQL与数据仓库 92
5.1 Spark SQL基础 93
5.1.1 分布式SQL引擎 93
5.1.2 支持的SQL语法 97
5.1.3 支持的数据类型 98
5.1.4 DataFrame 99
5.1.5 DataFrame数据源 103
5.1.6 性能调优 104
5.2 Spark SQL原理和运行机制 104
5.2.1 Spark SQL整体架构 105
5.2.2 Catalyst执行优化器 105
5.3 应用场景:基于淘宝数据建立电商数据仓库 110
5.3.1 电商数据仓库场景 111
5.3.2 数据准备和表设计 111
5.3.3 用Spark SQL来完成日常运营数据分析 115
5.3.4 Spark SQL在大规模数据下的性能表现 120
第6章 Spark流式计算 122
6.1 Spark Streaming基础知识 123
6.1.1 入门简单示例 123
6.1.2 基本概念 124
6.1.3 高级操作 129
6.2 深入理解Spark Streaming 132
6.2.1 DStream的两类操作 132
6.2.2 容错处理 134
6.2.3 性能调优 136
6.2.4 与Storm的对比 137
6.3 应用场景:一个类似百度统计的流式实时系统 139
6.3.1 Web log实时统计场景 139
6.3.2 日志实时采集 140
6.3.3 流式分析系统实现 140
第7章 Spark图计算 149
7.1 什么是图计算 149
7.1.1 图的基本概念 149
7.1.2 图计算的应用 150
7.2 Spark GraphX简介 151
7.2.1 GraphX实现 151
7.2.2 GraphX常用API介绍 152
7.3 应用场景:基于新浪微博数据的社交网络分析 153
7.3.1 社交网络分析的主要应用 153
7.3.2 社区发现算法简介 154
7.3.3 用GraphX实现Louvain算法 156
7.3.4 小试牛刀:谁是你的闺蜜 162
7.3.5 真实的场景:新浪微博关系
分析 164
第8章 Spark MLlib 169
8.1 机器学习简介 169
8.1.1 什么是机器学习 169
8.1.2 机器学习示例 171
8.1.3 机器学习的基本方法 172
8.1.4 机器学习的常见技巧 173
8.1.5 机器学习参考资料 174
8.2 MLlib库简介 174
8.2.1 基础数据类型 174
8.2.2 主要的库 175
8.2.3 附带的示例程序 176
8.3 应用场景:搜索广告点击率预估系统 178
8.3.1 应用场景 178
8.3.2 逻辑回归 179
8.3.3 学习算法 181
8.3.4 模型评估 184
8.3.5 数据准备 186
8.3.6 模型训练 187
8.3.7 模型调优 195
附录 Scala语言参考 197
资源截图: