内容简介
本书是Spark大数据分析领域的经典入门教程,由Spark核心开发者参与编写,面向数据工程师、数据科学家和软件开发者,系统介绍了Apache Spark的核心概念与编程方法。全书以实际案例驱动,帮助读者快速掌握利用Spark进行大规模数据处理与分析的能力。
内容涵盖Spark基础架构、RDD编程、DataFrame与SQL、流式处理、机器学习库MLlib、图计算GraphX等核心模块,并深入讲解了Spark作业的执行流程、内存管理、调优技巧等进阶主题。书中通过丰富的Scala、Python和Java代码示例,展示了如何在不同场景下高效使用Spark完成ETL、数据探索、交互式分析及实时计算等任务。
本书适合具备一定编程基础(如Java、Python或Scala)的读者,无需预先了解Spark或分布式系统。通过对本书的学习,读者将能够搭建Spark环境、编写高效的数据分析程序,并理解Spark在大数据生态中的定位与优势。书中还提供了大量实战练习和最佳实践建议,助力读者在实际项目中灵活应用Spark技术。
目录
O’Reilly Media, Inc. 介绍
业界评论
推荐序
译者序
序
读者对象
本书结构
相关书籍
排版约定
使用代码示例
Safari® Books Online
联系我们
第 1 章 Spark 数据分析导论
1.1 Spark是什么
1.2 一个大一统的软件栈
1.2.1 Spark Core
1.2.2 Spark SQL
1.2.3 Spark Streaming
1.2.4 MLlib
1.2.5 GraphX
1.2.6 集群管理器
1.3 Spark的用户和用途
1.3.1 数据科学任务
1.3.2 数据处理应用
1.4 Spark简史
1.5 Spark的版本和发布
1.6 Spark的存储层次
第 2 章 Spark 下载与入门
2.1 下载Spark
2.2 Spark中Python和Scala的shell
2.3 Spark核心概念简介
2.4 独立应用
2.4.1 初始化SparkContext
2.4.2 构建独立应用
2.5 总结
第 3 章 RDD 编程
3.1 RDD基础
3.2 创建RDD
3.3 RDD操作
3.3.1 转化操作
3.3.2 行动操作
3.3.3 惰性求值
3.4 向Spark传递函数
3.4.1 Python
3.4.2 Scala
3.4.3 Java
3.5 常见的转化操作和行动操作
3.5.1 基本RDD
3.5.2 在不同RDD类型间转换
3.6 持久化(缓存)
3.7 总结
第 4 章 键值对操作
4.1 动机
4.2 创建Pair RDD
4.3 Pair RDD的转化操作
4.3.1 聚合操作
4.3.2 数据分组
4.3.3 连接
4.3.4 数据排序
4.4 Pair RDD的行动操作
4.5 数据分区(进阶)
4.5.1 获取RDD的分区方式
4.5.2 从分区中获益的操作
4.5.3 影响分区方式的操作
4.5.4 示例:PageRank
4.5.5 自定义分区方式
4.6 总结
第 5 章 数据读取与保存
5.1 动机
5.2 文件格式
5.2.1 文本文件
5.2.2 JSON
5.2.3 逗号分隔值与制表符分隔值
5.2.4 SequenceFile
5.2.5 对象文件
5.2.6 Hadoop输入输出格式
5.2.7 文件压缩
5.3 文件系统
5.3.1 本地/“常规”文件系统
5.3.2 Amazon S3
5.3.3 HDFS
5.4 Spark SQL中的结构化数据
5.4.1 Apache Hive
5.4.2 JSON
5.5 数据库
5.5.1 Java数据库连接
5.5.2 Cassandra
5.5.3 HBase
5.5.4 Elasticsearch
5.6 总结
第 6 章 Spark 编程进阶
6.1 简介
6.2 累加器
6.2.1 累加器与容错性
6.2.2 自定义累加器
6.3 广播变量
广播的优化
6.4 基于分区进行操作
6.5 与外部程序间的管道
6.6 数值RDD的操作
6.7 总结
第 7 章 在集群上运行 Spark
7.1 简介
7.2 Spark运行时架构
7.2.1 驱动器节点
7.2.2 执行器节点
7.2.3 集群管理器
7.2.4 启动一个程序
7.2.5 小结
7.3 使用spark-submit部署应用
7.4 打包代码与依赖
7.4.1 使用Maven构建的用Java编写的Spark应用
7.4.2 使用sbt构建的用Scala编写的Spark应用
7.4.3 依赖冲突
7.5 Spark应用内与应用间调度
7.6 集群管理器
7.6.1 独立集群管理器
7.6.2 Hadoop YARN
7.6.3 Apache Mesos
7.6.4 Amazon EC2
7.7 选择合适的集群管理器
7.8 总结
第 8 章 Spark 调优与调试
8.1 使用SparkConf配置Spark
8.2 Spark执行的组成部分:作业、任务和步骤
8.3 查找信息
8.3.1 Spark网页用户界面
8.3.2 驱动器进程和执行器进程的日志
8.4 关键性能考量
8.4.1 并行度
8.4.2 序列化格式
8.4.3 内存管理
8.4.4 硬件供给
8.5 总结
第 9 章 Spark SQL
9.1 连接Spark SQL
9.2 在应用中使用Spark SQL
9.2.1 初始化Spark SQL
9.2.2 基本查询示例
9.2.3 SchemaRDD
9.2.4 缓存
9.3 读取和存储数据
9.3.1 Apache Hive
9.3.2 Parquet
9.3.3 JSON
9.3.4 基于RDD
9.4 JDBC/ODBC服务器
9.4.1 使用Beeline
9.4.2 长生命周期的表与查询
9.5 用户自定义函数
9.5.1 Spark SQL UDF
9.5.2 Hive UDF
9.6 Spark SQL性能
性能调优选项
9.7 总结
第 10 章 Spark Streaming
10.1 一个简单的例子
10.2 架构与抽象
10.3 转化操作
10.3.1 无状态转化操作
10.3.2 有状态转化操作
10.4 输出操作
10.5 输入源
10.5.1 核心数据源
10.5.2 附加数据源
10.5.3 多数据源与集群规模
10.6 24/7不间断运行
10.6.1 检查点机制
10.6.2 驱动器程序容错
10.6.3 工作节点容错
10.6.4 接收器容错
10.6.5 处理保证
10.7 Streaming用户界面
10.8 性能考量
10.8.1 批次和窗口大小
10.8.2 并行度
10.8.3 垃圾回收和内存使用
10.9 总结
第 11 章基于 MLlib 的机器学习
11.1 概述
11.2 系统要求
11.3 机器学习基础
示例:垃圾邮件分类
11.4 数据类型
操作向量
11.5 算法
11.5.1 特征提取
11.5.2 统计
11.5.3 分类与回归
11.5.4 聚类
11.5.5 协同过滤与推荐
11.5.6 降维
11.5.7 模型评估
11.6 一些提示与性能考量
11.6.1 准备特征
11.6.2 配置算法
11.6.3 缓存RDD以重复使用
11.6.4 识别稀疏程度
11.6.5 并行度
11.7 流水线API
11.8 总结
作者简介
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。