所有分类
  • 所有分类
  • 机械工业
  • 人民邮电
  • 清华大学
  • 电子工业

Spark大数据实例开发教程

Spark大数据实例开发教程插图

Spark大数据实例开发教程封面

策划编辑: 王 斌 责任编辑: 张 恒
责任校对: 张艳霞 责任印制:
保定市中画美凯印刷有限公司印刷
2015 年 11 月第 1 版·第 1 次印刷
184mm × 260mm·21. 25 印张·524 千字
0001- 4000册
标准书号: ISBN 978 – 7 – 111 – 51909 – 6
定价: 59.00元

Spark 起源于 2009 年, 是美国加州大学伯克利分校 AMP 实验室的一个研究性项目。Spark 于 2010 年开源, 是当今大数据领域最活跃、 最热门、 最高效的大数据通用计算平台,是 Apache 软件基金会所有开源项目中三大顶级开源项目之一。Spark 是用 Scala 语言写成的一套分布式内存迭代计算系统, 它的核心抽象概念是弹性分布式数据集 (Resilient Distributed Dataset, RDD), 在 “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 1. 4 版本中, 加入了新的 SparkR 子框架) 之间可以在内存中完美的无缝集成并可以互相操作彼此的数据, 这不仅打造了 Spark 在当今大数据计算领域相比其他任何计算框架具备的无可匹敌的优势, 更使得 Spark 正在加速成为大数据处理中心首选的和唯一的计算平台。

目 录
前言
第 1 章 Spark 简介 ……………………………………………………………………………… 1
1. 1 什么是 Spark ………………………………………………………………………… 2
1. 2 Spark 生态圈…………………………………………………………………………… 2
1. 2. 1 伯克利数据分析协议栈 …………………………………………………………… 2
1. 2. 2 Spark 开源社区发展 ……………………………………………………………… 3
1. 3 RDD 编程模型 ………………………………………………………………………… 3
1. 3. 1 RDD 抽象概念 …………………………………………………………………… 3
1. 3. 2 RDD 的操作 ……………………………………………………………………… 5
1. 3. 3 RDD 的依赖关系 ………………………………………………………………… 6
1. 3. 4 一个典型的 DAG 示意图…………………………………………………………… 6
第 2 章 Spark RDD 实践案例与解析 ………………………………………………………… 8
2. 1 Spark 应用程序部署…………………………………………………………………… 9
2. 1. 1 Spark 应用的基本概念 …………………………………………………………… 9
2. 1. 2 应用程序的部署方式 …………………………………………………………… 10
2. 2 RDD 数据的输入、 处理、 输出的基本案例与解析 ……………………………… 14
2. 2. 1 集群环境的搭建 ………………………………………………………………… 15
2. 2. 2 交互式工具的启动 ……………………………………………………………… 19
2. 2. 3 文本数据的 ETL 案例实践与解析 ………………………………………………… 25
2. 2. 4 文本数据的初步统计案例实践与解析 …………………………………………… 28
2. 2. 5 文本数据统计结果的持久化案例实践与解析 ……………………………………… 31
2. 2. 6 RDD 的 Lineage 关系的案例与源码解析 …………………………………………… 33
2. 2. 7 RDD 的持久化案例与解析 ……………………………………………………… 43
2. 2. 8 RDD 的构建案例与解析 ………………………………………………………… 48
2. 2. 9 分区数设置的案例与源码解析 …………………………………………………… 49
2. 3 RDD API 的应用案例与解析 ……………………………………………………… 53
2. 3. 1 如何查找 RDD API 的隐式转换…………………………………………………… 54
2. 3. 2 RDD[T]的分区相关的 API ……………………………………………………… 57
2. 3. 3 RDD[T]常用的聚合 API ………………………………………………………… 60
2. 3. 4 DoubleRDDFunctions(self:RDD[Double])常用的 API ……………………………… 63
2. 3. 5 PairRDDFunctions[K,V]聚合相关的 API ………………………………………… 66
2. 3. 6 RDD 相互间操作的 API ………………………………………………………… 71
2. 3. 7 PairRDDFunctions[K,V]间的相关 API …………………………………………… 76
2. 3. 8 OrderedRDDFunctions[K,V,P < :Product2[K,V]]常用的 API ……………………… 77

2. 4 Spark 应用程序构建 ………………………………………………………………… 78
2. 4. 1 基于 SBT 构建 Spark 应用程序的实例 …………………………………………… 79
2. 4. 2 基于 IDEA 构建 Spark 应用程序的实例 …………………………………………… 81
2. 4. 3 Spark 提交应用的调试实例 ……………………………………………………… 93
2. 5 移动互联网数据分析案例与解析…………………………………………………… 98
2. 5. 1 移动互联网数据的准备 ………………………………………………………… 99
2. 5. 2 移动互联网数据分析与解析 …………………………………………………… 100
2. 6 Spark RDD 实践中的常见问题与解答 …………………………………………… 103
第 3 章 Spark SQL 实践案例与解析 ……………………………………………………… 105
3. 1 Spark SQL 概述……………………………………………………………………… 106
3. 2 DataFrame 处理的案例与解析……………………………………………………… 106
3. 2. 1 DataFrame 编程模型 …………………………………………………………… 107
3. 2. 2 DataFrame 基本操作案例与解析 ………………………………………………… 107
3. 2. 3 DataFrame 与 RDD 之间的转换案例与解析 ……………………………………… 122
3. 2. 4 缓存表 (列式存储) 的案例与解析……………………………………………… 127
3. 2. 5 DataFrame API 的应用案例与分析 ……………………………………………… 132
3. 3 Spark SQL 处理各种数据源的案例与解析………………………………………… 158
3. 3. 1 通用的加载/ 保存功能的案例与解析 …………………………………………… 160
3. 3. 2 Parquet 文件处理的案例与解析 ………………………………………………… 165
3. 3. 3 JSON 数据集操作的案例与解析 ………………………………………………… 167
3. 3. 4 操作 Hive 表的案例与解析 ……………………………………………………… 170
3. 3. 5 使用 JDBC 操作其他数据库的案例与解析 ……………………………………… 185
3. 3. 6 集成 Hive 数据仓库的案例与解析 ……………………………………………… 191
3. 4 基于 Hive 的人力资源系统数据处理案例与解析 ………………………………… 197
3. 4. 1 人力资源系统的数据库与表的构建 ……………………………………………… 199
3. 4. 2 人力资源系统的数据的加载 …………………………………………………… 201
3. 4. 3 人力资源系统的数据的查询 …………………………………………………… 202
第 4 章 Spark Streaming 实践案例与解析 ………………………………………………… 206
4. 1 Spark Streaming 概述 ……………………………………………………………… 207
4. 2 Spark Streaming 基础概念 ………………………………………………………… 208
4. 3 企业信息实时处理的案例与解析 ………………………………………………… 208
4. 3. 1 处理 TCP 数据源的案例与解析 ………………………………………………… 209
4. 3. 2 处理 HDFS 文件数据源的案例与解析 …………………………………………… 225
4. 3. 3 处理 Kafka 数据源的准备工作…………………………………………………… 229
4. 3. 4 基于 Receiver 读取 Kafka 数据的案例与解析……………………………………… 232
4. 3. 5 直接读取 (无 Receiver) Kafka 数据的案例与解析 ……………………………… 243
4. 3. 6 处理 Flume 数据源的实践准备 ………………………………………………… 253
4. 3. 7 基于 Flume 风格的推送数据案例与解析 ………………………………………… 254
4. 3. 8 定制 FlumeSink 的拉取数据案例与解析 ………………………………………… 261

4. 4 性能调优 …………………………………………………………………………… 271
4. 4. 1 减少批处理的时间 ……………………………………………………………… 271
4. 4. 2 设置正确的批间隔 ……………………………………………………………… 273
4. 4. 3 内存调优 ……………………………………………………………………… 274
第 5 章 Tachyon 实践案例与解析…………………………………………………………… 276
5. 1 Tachyon 概述………………………………………………………………………… 277
5. 2 重新编译部署包 …………………………………………………………………… 279
5. 2. 1 重新编译 Tachyon 的部署包 …………………………………………………… 279
5. 2. 2 重新编译 Spark 的部署包 ……………………………………………………… 279
5. 3 Tachyon 部署的案例与解析………………………………………………………… 283
5. 3. 1 单机模式部署的案例与解析 …………………………………………………… 283
5. 3. 2 集群模式部署的案例与解析 …………………………………………………… 291
5. 3. 3 集群 Master 容错部署的案例与解析……………………………………………… 294
5. 4 Tachyon 配置的案例与解析………………………………………………………… 299
5. 4. 1 底层存储系统的配置案例与解析………………………………………………… 299
5. 4. 2 配置属性与解析………………………………………………………………… 302
5. 5 命令行接口的案例与解析 ………………………………………………………… 306
5. 5. 1 命令行接口的说明 ……………………………………………………………… 306
5. 5. 2 命令行接口的案例实践与解析 ………………………………………………… 308
5. 6 同步底层文件系统的案例与解析 ………………………………………………… 312
5. 6. 1 同步 HDFS 底层文件系统的案例与解析 ………………………………………… 313
5. 6. 2 同步本地底层文件系统的案例与解析 …………………………………………… 314
5. 7 基于 Tachyon 运行的案例与解析 ………………………………………………… 316
5. 7. 1 基于 Tachyon 运行 Spark 的案例与解析 ………………………………………… 316
5. 7. 2 基于 Tachyon 运行 Hadoop MR 的案例与解析 …………………………………… 327
附录 Spark 1. 4 版本新特性 ………………………………………………………………… 330

0

评论0

请先

显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码