商品详情
书名:Spark快速大数据分析:第2版
定*:119.8
ISBN:9787**55760*9
作者:朱尔斯·S.达米吉等
版次:第1版
出版时间:202*-**
内容提要:
本书的主角是在大数据时代应运而生的数据处理与分析利器——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的贡献者。 布鲁克·韦尼希(Brooke Wenig)是Databricks的机器学习*家。 泰瑟加塔·达斯(Tathagata Das)是Databricks的软件工程师,也是Apache Spark PMC成员。 丹尼·李(Denny Lee)是Databricks的软件工程师。 【译者简介】 *道远 目前*职于阿里云开源大数据平台数据湖存储团队,花名“健身”,主要负责数据湖架构下的缓存*化工作。有多年的大数据开发经验,熟悉Spark源码,从20*4年开始参与Spark项目,曾为Spark贡献大量修复和新*性,也曾作为主要贡献者参与了OAP和SparkCube等Spark生态开源项目的开发。
目录:
译者序 xiii
对本书的赞誉 xv
序 .xvii
前言 xix
第 *章 Apache Spark简介:*站式分析引擎 *
*.* Spark的起源 *
*.*.* 谷歌的大数据和分布式计算 *
*.*.2 雅虎的Hadoop 2
*.*.3 Spark在AMPLab崭露头角 3
*.2 什么是Spar 3
*.2.* 快速 4
*.2.2 易用 4
*.2.3 模块化 4
*.2.4 可扩展 5
*.3 *站式数据分析 5
*.3.* 由Spark组件组成的*站式软件栈 6
*.3.2 Spark的分布式执行 9
*.4 *体验 *2
*.4.* 哪些人用Spark,用它做什么 *3
*.4.2 社区接受度与社区发展 *4
第 2 章 下载并开始使用Apache Spark *6
2.* 第 * 步:下载Spark *6
2.2 第 2 步:使用Scala shell 或PySpark shell *8
2.3 第3 步:理解Spark 应用的相关概念 22
2.3.* Spark 应用与SparkSession 22
2.3.2 Spark 作业 23
2.3.3 Spark 执行*段 23
2.3.4 Spark 任务 24
2.4 转化操作、行动操作以及惰性求值 24
2.5 Spark UI 26
2.6 第 *个*立应用 29
2.6.* 统计M&M 巧克力豆 29
2.6.2 用Scala 构建*立应用 34
2.7 小结 36
第3 章 Apache Spark 的结构化数据API 37
3.* RDD 的背后是什么 37
3.2 Spark 支持结构化数据 38
3.3 DataFrame API 4*
3.3.* Spark 的基本数据类型 4*
3.3.2 Spark 中结构化的复杂数据类型 42
3.3.3 表结构与DataFrame 43
3.3.4 列与表达式 47
3.3.5 行 49
3.3.6 常见的DataFrame 操作 50
3.3.7 完整的DataFrame 示例 59
3.4 Dataset API 60
3.4.* 有类型对象、*类型对象,以及普通行 6*
3.4.2 *建Dataset 62
3.4.3 Dataset 操作 63
3.4.4 完整的Dataset 示例 65
3.5 对比DataFrame 和Dataset 65
3.6 Spark SQL 及其底层引擎 66
3.7 小结 7*
第4 章 Spark SQL 与DataFrame:内建数据源概览 73
4.* 在Spark 应用中使用Spark SQL 74
4.2 SQL 表和视图 79
4.2.* 有管理表和*管理表 79
4.2.2 *建SQL 数据库和SQL 表 79
4.2.3 *建视图 80
4.2.4 查看元数据 82
4.2.5 缓存SQL 表 82
4.2.6 将表读取为DataFrame 82
4.3 DataFrame 和SQL 表的数据源 83
4.3.* DataFrameReader 83
4.3.2 DataFrameWriter 85
4.3.3 Parquet 86
4.3.4 JSON 88
4.3.5 CSV 90
4.3.6 Avro 92
4.3.7 ORC 94
4.3.8 图像 96
4.3.9 二进制文件 97
4.4 小结 98
第5 章 Spark SQL 与DataFrame:读写外*数据源 *00
5.* Spark SQL 与Apache Hive *00
5.2 用Spark SQL shell、Beeline 和Tableau 查询 *06
5.2.* 使用Spark SQL shell *06
5.2.2 使用Beeline *07
5.2.3 使用Tableau *08
5.3 外*数据源 **4
5.3.* JDBC 和SQL 数据库 **4
5.3.2 PostgreSQL **5
5.3.3 MySQL **7
5.3.4 Azure Cosmos DB **8
5.3.5 MS SQL Server *20
5.3.6 其他外*数据源 *2*
5.4 DataFrame 和Spark SQL 的**函数 *2*
5.4.* 方式*:打散再重组 *2*
5.4.2 方式2:用户自定义函数 *22
5.4.3 针对复杂数据类型的内建函数 *22
5.4.4 **函数 *24
5.5 常用的DataFrame 操作和Spark SQL 操作 *27
5.5.* 联合 *30
5.5.2 连接 *30
5.5.3 窗口 *3*
5.5.4 修改 *34
5.6 小结 *37
第6 章 Spark SQL 与Dataset *38
6.* Java 与Scala 共用*套API *38
6.2 操作Dataset *40
6.2.* *建示例数据 *4*
6.2.2 转化示例数据 *42
6.3 Dataset 与DataFrame 的内存管理 *47
6.4 Dataset 编码器 *47
6.4.* Spark 内*格式与Java 对象格式 *48
6.4.2 序列化与反序列化 *48
6.5 使用Dataset 的开销 *49
6.6 小结 *5*
第7 章 Spark 应用的*化与调* *52
7.* 为效率而*化与调* *52
7.*.* 查看与设置Spark 配置 *52
7.*.2 为大型作业扩展Spark *55
7.2 数据的缓存与持久化 *60
7.2.* DataFrame.cache() *6*
7.2.2 DataFrame.persist() *62
7.2.3 什么时候应该缓存和持久化 *64
7.2.4 什么时候*应该缓存和持久化 *64
7.3 Spark 的各种连接算法 *64
7.3.* 广播哈希连接 *65
7.3.2 混洗排序合并连接 *66
7.4 查看Spark UI *73
7.5 小结 *80
第8 章 结构化流处理 *8*
8.* Spark 流处理引擎的演进过程 *8*
8.*.* 以微型批模拟的流处理 *82
8.*.2 从DStream 获取的经验教训 *83
8.*.3 Structured Streaming 的设计哲学 *83
8.2 Structured Streaming 的编程模型 *84
8.3 Structured Streaming 查询 *86
8.3.* 五步定义流式查询 *86
8.3.2 探究活跃的流式查询 *9*
8.3.3 失败恢复与“*确*次”语义 *92
8.3.4 监控活跃的查询 *94
8.4 流式数据源与数据池 *96
8.4.* 文件 *97
8.4.2 Kafka *99
8.4.3 自定义流式数据源与数据池 200
8.5 数据转化 204
8.5.* 增量执行与流处理状态 204
8.5.2 *状态转化操作 204
8.5.3 有状态转化操作 205
8.6 有状态的流式聚合 207
8.6.* *根据时间维度进行聚合 207
8.6.2 使用事件时间窗口进行聚合 208
8.7 流式连接 2*4
8.7.* 流与静态表连接 2*4
8.7.2 流与流连接 2*5
8.8 任意的有状态计算 220
8.8.* 用mapGroupsWithState() 为任意有状态操作建模 220
8.8.2 用*时管理*活跃的分组 223
8.8.3 用flatMapGroupsWithState() 进行通用操作 226
8.9 性能调* 227
8.*0 小结 229
第9 章 用Apache Spark 构建可靠的数据湖 230
9.* 最佳存储解决方案的重要*点 230
9.2 数据库 23*
9.2.* 数据库简介 23*
9.2.2 用Spark 读写数据库 232
9.2.3 数据库的*足之处 232
9.3 数据湖 233
9.3.* 数据湖简介 233
9.3.2 用Spark 读写数据湖 233
9.3.3 数据湖的*足之处 234
9.4 湖仓*体:下*代存储解决方案 235
9.4.* Apache Hudi 236
9.4.2 Apache Iceberg 236
9.4.3 Delta Lake 236
9.5 用Spark 与Delta Lake 构建湖仓*体的系统 237
9.5.* 为使用Delta Lake 配置Spark 237
9.5.2 把数据加载到Delta Lake 表中 238
9.5.3 把数据流加载到Delta Lake 表中 240
9.5.4 写数据时强化表结构约束以*止数据损坏 24*
9.5.5 修改表结构以适应数据变化 242
9.5.6 转化已有数据 242
9.5.7 根据操作历史审计数据变更 245
9.5.8 用时间旅行功能查询表以前的快照数据 245
9.6 小结 246
第 *0 章 用MLlib 实现机器学习 247
*0.* 什么是机器学习 247
*0.*.* 监督学习 248
*0.*.2 *监督学习 249
*0.*.3 为什么将Spark 用于机器学习 250
*0.2 设计机器学习流水线 25*
*0.2.* 接入并探索数据 25*
*0.2.2 *建训练集与测试集 252
*0.2.3 为转化器准备*征 254
*0.2.4 理解线性回归 255
*0.2.5 用预估器构建模型 256
*0.2.6 *建流水线 257
*0.2.7 评估模型 262
*0.2.8 *存和加载模型 266
*0.3 *参数调* 266
*0.3.* 基于树的模型 267
*0.3.2 k 折交叉验证 274
*0.3.3 *化流水线 277
*0.4 小结 279
第 ** 章 用Apache Spark管理、*署与伸缩机器学习流水线 280
**.* 模型管理 280
**.2 用MLlib *署模型所用的选项 286
**.2.* 批处理 287
**.2.2 流处理 289
**.2.3 导出模型用于实时预测的模式 290
**.3 利用Spark 使用非MLlib 模型 29*
**.3.* Pandas UDF 29*
**.3.2 将Spark 用于分布式*参数调* 293
**.4 小结 295
第 *2 章 尾声:Apache Spark 3.0 296
*2.* Spark 内核与Spark SQL 296
*2.*.* 动态分区裁剪 296
*2.*.2 自适应查询执行 298
*2.*.3 SQL 连接提示 30*
*2.*.4 Catalog 插件API 与DataSourceV2 302
*2.*.5 可感知加速器的调度器 303
*2.2 Structured Streaming 304
*2.3 PySpark、Pandas UDF 和Pandas 函数API 306
*2.3.* 重新设计的带有Python 类型提示的Pandas UDF 306
*2.3.2 Pandas UDF 中的迭代器支持 307
*2.3.3 新的Pandas 函数API 307
*2.4 有改动的功能 308
*2.4.* 支持的与*推荐使用的编程语言 309
*2.4.2 DataFrame API 和Dataset API 的改动 309
*2.4.3 DataFrame 与SQL 的explain 命令 309
*2.5 小结 3**
作者简介 3*3
封面简介 3*3
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...