Spark快速大数据分析(第2版)

Spark快速大数据分析(第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

涵盖Spark 3.0的新特性,着重展示如何利用机器学习算法执行大数据分析。

内容简介

本书的主角是在大数据时代应运而生的数据处理与分析利器——Spark。你将通过丰富的示例学习如何使用Spark的结构化数据API,利用Spark SQL进行交互式查询,掌握Spark应用的优化之道,用Spark和Delta Lake等开源工具构建可靠的数据湖,并用MLlib库实现机器学习流水线。随着Spark从2.x版本升级到3.0版本,本书第2版做了全面的更新,以体现Spark生态系统在机器学习、流处理技术等方面的发展,另新增一章详解Spark 3.0引入的新特性。

作者简介

作者朱尔斯·S.达米吉(Jules S. Damji),Databricks的高级开发人员,也是MLflow的贡献者。

章节目录

版权信息

版权声明

O'Reilly Media, Inc.介绍

译者序

对本书的赞誉

前言

第1章 Apache Spark 简介:一站式分析引擎

1.1 Spark的起源

1.1.1 谷歌的大数据和分布式计算

1.1.2 雅虎的Hadoop

1.1.3 Spark在AMPLab崭露头角

1.2 什么是Spark

1.2.1 快速

1.2.2 易用

1.2.3 模块化

1.2.4 可扩展

1.3 一站式数据分析

1.3.1 由Spark组件组成的一站式软件栈

1.3.2 Spark的分布式执行

1.4 开发者体验

1.4.1 哪些人用Spark,用它做什么

1.4.2 社区接受度与社区发展

第2章 下载并开始使用 Apache Spark

2.1 第1步:下载Spark

Spark的目录和文件

2.2 第2步:使用Scala shell或PySpark shell

使用本地机器

2.3 第3步:理解Spark应用的相关概念

2.3.1 Spark应用与SparkSession

2.3.2 Spark作业

2.3.3 Spark执行阶段

2.3.4 Spark任务

2.4 转化操作、行动操作以及惰性求值

窄转化与宽转化

2.5 Spark UI

2.6 第一个独立应用

2.6.1 统计M&M巧克力豆

2.6.2 用Scala构建独立应用

2.7 小结

第3章 Apache Spark 的结构化数据 API

3.1 RDD的背后是什么

3.2 Spark支持结构化数据

关键优点与好处

3.3 DataFrame API

3.3.1 Spark的基本数据类型

3.3.2 Spark中结构化的复杂数据类型

3.3.3 表结构与DataFrame

3.3.4 列与表达式

3.3.5 行

3.3.6 常见的DataFrame操作

3.3.7 完整的DataFrame示例

3.4 Dataset API

3.4.1 有类型对象、无类型对象,以及普通行

3.4.2 创建Dataset

3.4.3 Dataset操作

3.4.4 完整的Dataset示例

3.5 对比DataFrame和Dataset

何时选用RDD

3.6 Spark SQL及其底层引擎

Catalyst优化器

3.7 小结

第4章 Spark SQL 与 DataFrame:内建数据源概览

4.1 在Spark应用中使用Spark SQL

基础查询示例

4.2 SQL表和视图

4.2.1 有管理表和无管理表

4.2.2 创建SQL数据库和SQL表

4.2.3 创建视图

4.2.4 查看元数据

4.2.5 缓存SQL表

4.2.6 将表读取为DataFrame

4.3 DataFrame和SQL表的数据源

4.3.1 DataFrameReader

4.3.2 DataFrameWriter

4.3.3 Parquet

4.3.4 JSON

4.3.5 CSV

4.3.6 Avro

4.3.7 ORC

4.3.8 图像

4.3.9 二进制文件

4.4 小结

第5章 Spark SQL 与 DataFrame:读写外部数据源

5.1 Spark SQL与Apache Hive

用户自定义函数

5.2 用Spark SQL shell、Beeline和Tableau查询

5.2.1 使用Spark SQL shell

5.2.2 使用Beeline

5.2.3 使用Tableau

5.3 外部数据源

5.3.1 JDBC和SQL数据库

5.3.2 PostgreSQL

5.3.3 MySQL

5.3.4 Azure Cosmos DB

5.3.5 MS SQL Server

5.3.6 其他外部数据源

5.4 DataFrame和Spark SQL的高阶函数

5.4.1 方式1:打散再重组

5.4.2 方式2:用户自定义函数

5.4.3 针对复杂数据类型的内建函数

5.4.4 高阶函数

5.5 常用的DataFrame操作和Spark SQL操作

5.5.1 联合

5.5.2 连接

5.5.3 窗口

5.5.4 修改

5.6 小结

第6章 Spark SQL 与 Dataset

6.1 Java与Scala共用一套API

用于Dataset的Scala样例类和JavaBean类

6.2 操作Dataset

6.2.1 创建示例数据

6.2.2 转化示例数据

6.3 Dataset与DataFrame的内存管理

6.4 Dataset编码器

6.4.1 Spark内部格式与Java对象格式

6.4.2 序列化与反序列化

6.5 使用Dataset的开销

减少开销的策略

6.6 小结

第7章 Spark 应用的优化与调优

7.1 为效率而优化与调优

7.1.1 查看与设置Spark配置

7.1.2 为大型作业扩展Spark

7.2 数据的缓存与持久化

7.2.1 DataFrame.cache()

7.2.2 DataFrame.persist()

7.2.3 什么时候应该缓存和持久化

7.2.4 什么时候不应该缓存和持久化

7.3 Spark的各种连接算法

7.3.1 广播哈希连接

7.3.2 混洗排序合并连接

7.4 查看Spark UI

Spark UI的标签页

7.5 小结

第8章 结构化流处理

8.1 Spark流处理引擎的演进过程

8.1.1 以微型批模拟的流处理

8.1.2 从DStream获取的经验教训

8.1.3 Structured Streaming的设计哲学

8.2 Structured Streaming的编程模型

8.3 Structured Streaming查询

8.3.1 五步定义流式查询

8.3.2 探究活跃的流式查询

8.3.3 失败恢复与“精确一次”语义

8.3.4 监控活跃的查询

8.4 流式数据源与数据池

8.4.1 文件

8.4.2 Kafka

8.4.3 自定义流式数据源与数据池

8.5 数据转化

8.5.1 增量执行与流处理状态

8.5.2 无状态转化操作

8.5.3 有状态转化操作

8.6 有状态的流式聚合

8.6.1 不根据时间维度进行聚合

8.6.2 使用事件时间窗口进行聚合

8.7 流式连接

8.7.1 流与静态表连接

8.7.2 流与流连接

8.8 任意的有状态计算

8.8.1 用mapGroupsWithState()为任意有状态操作建模

8.8.2 用超时管理不活跃的分组

8.8.3 用flatMapGroupsWithState()进行通用操作

8.9 性能调优

8.10 小结

第9章 用 Apache Spark 构建可靠的数据湖

9.1 最佳存储解决方案的重要特点

9.2 数据库

9.2.1 数据库简介

9.2.2 用Spark读写数据库

9.2.3 数据库的不足之处

9.3 数据湖

9.3.1 数据湖简介

9.3.2 用Spark读写数据湖

9.3.3 数据湖的不足之处

9.4 湖仓一体:下一代存储解决方案

9.4.1 Apache Hudi

9.4.2 Apache Iceberg

9.4.3 Delta Lake

9.5 用Spark与Delta Lake构建湖仓一体的系统

9.5.1 为使用Delta Lake配置Spark

9.5.2 把数据加载到Delta Lake表中

9.5.3 把数据流加载到Delta Lake表中

9.5.4 写数据时强化表结构约束以防止数据损坏

9.5.5 修改表结构以适应数据变化

9.5.6 转化已有数据

9.5.7 根据操作历史审计数据变更

9.5.8 用时间旅行功能查询表以前的快照数据

9.6 小结

第10章 用 MLlib 实现机器学习

10.1 什么是机器学习

10.1.1 监督学习

10.1.2 无监督学习

10.1.3 为什么将Spark用于机器学习

10.2 设计机器学习流水线

10.2.1 接入并探索数据

10.2.2 创建训练集与测试集

10.2.3 为转化器准备特征

10.2.4 理解线性回归

10.2.5 用预估器构建模型

10.2.6 创建流水线

10.2.7 评估模型

10.2.8 保存和加载模型

10.3 超参数调优

10.3.1 基于树的模型

10.3.2 k 折交叉验证

10.3.3 优化流水线

10.4 小结

第11章 用 Apache Spark 管理、部署与伸缩机器学习流水线

11.1 模型管理

11.2 用MLlib部署模型所用的选项

11.2.1 批处理

11.2.2 流处理

11.2.3 导出模型用于实时预测的模式

11.3 利用Spark使用非MLlib模型

11.3.1 Pandas UDF

11.3.2 将Spark用于分布式超参数调优

11.4 小结

第12章 尾声:Apache Spark 3.0

12.1 Spark内核与Spark SQL

12.1.1 动态分区裁剪

12.1.2 自适应查询执行

12.1.3 SQL连接提示

12.1.4 Catalog插件API与DataSourceV2

12.1.5 可感知加速器的调度器

12.2 Structured Streaming

12.3 PySpark、Pandas UDF和Pandas函数API

12.3.1 重新设计的带有Python类型提示的Pandas UDF

12.3.2 Pandas UDF中的迭代器支持

12.3.3 新的Pandas函数API

12.4 有改动的功能

12.4.1 支持的与不推荐使用的编程语言

12.4.2 DataFrame API和Dataset API的改动

12.4.3 DataFrame与SQL的explain命令

12.5 小结

作者简介

封面简介

看完了

Spark快速大数据分析(第2版)是2021年由人民邮电出版社出版,作者[美] 朱尔斯·S.达米吉。

得书感谢您对《Spark快速大数据分析(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
数据分析实战:方法、工具与可视化 电子书
本书通过实战案例和可视化的图形讲解数据分析的知识。
PowerBI商务智能数据分析 电子书
一本教你用Microsoft Power BI分析处理经营业务数据的教程。
图解Spark:大数据快速分析实战 电子书
基于大数据分析实战,图文并茂,系统讲解Spark内核的原理,有助于读者快速掌握Spark开源集群计算框架的使用方法,涵盖Spark 3.0新特性。
大数据:精细化销售管理、数据分析与预测 电子书
本书适合营运部、财务部、商品企化部、销售管理部、销售及需要做产品分析和销售报表的相关工作人员阅读。
大数据分析处理(慕课版) 电子书
统地阐述大数据分析处理工作流程中的重要步骤。