• 【现货速发】高性能Spark
21年品牌 40万+商家 超1.5亿件商品

【现货速发】高性能Spark

全新正版书籍,24小时发货,可开发票。

42.8 4.4折 98 全新

库存11件

天津津南
认证卖家担保交易快速发货售后保障

作者[美]Holden Karau,[美]Rachel Warren

出版社中国电力出版社有限责任公司

ISBN9787519863531

出版时间2021-11

装帧平装

开本16开

定价98元

货号11463657

上书时间2024-12-23

易安居书舍

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
[美]霍顿·卡劳(Holden Karau),是一位加拿大人,在IBM的Spark技术中心担任软件开发工程师。同时作为一位Spark committer,经常在PySpark和机器学习方面进行贡献。另外曾在多次国际会议中发表关于Spark的演讲。
[美]雷切尔·沃伦(Rachel Warren),是Alpine Data的软件工程师和数据科学家。在工作中,她利用Spark来解决实际场景中的数据处理和机器学习问题。另外,她还曾在工业界以及学术界担任过分析师和导师。

目录
目录
前言 .1
第1 章 高性能Spark 介绍 7
1.1 Spark 是什么以及性能的重要性 .7
1.2 你可以从本书中得到什么 8
1.3 Spark 版本 .9
1.4 为什么是 Scala ? 9
1.4.1 成为一名 Spark 专家必须要学习一点 Scala .9
1.4.2 Spark 的 Scala API 比 Java API 更好用  10
1.4.3 Scala 比 Python 更高效  10
1.4.4 为什么不用 Scala ?  11
1.4.5 学习 Scala  11
1.5 小结  12
第2 章 Spark 运行原理 .13
2.1 Spark 如何融入大数据生态系统  14
2.2 Spark 并行计算模型:RDD  16
2.2.1 惰性求值  17
2.2.2 内存持久化和内存管理  20
2.2.3 不可变性和 RDD 接口 . 21
2.2.4 RDD 的类型  23
2.2.5 RDD 上的函数:转换与行动  24
2.2.6 宽依赖和窄依赖  25
2.3 Spark 作业调度 . 27
2.3.1 应用程序间的资源分配  27
2.3.2 Spark 应用程序 . 28
2.4 Spark Job 剖析  29
2.4.1 有向无环图(DAG)  30
2.4.2 作业(Job)  31
2.4.3 阶段(Stage)  31
2.4.4 任务(Task)  32
2.5 小结  34
第 3 章 DataFrame、Dataset 和Spark SQL 35
3.1 从 SparkSession(或者 HiveContext 和 SQLContext)入门 . 36
3.2 Spark SQL 依赖  39
3.2.1 管理 Spark 依赖  39
3.2.2 避免使用 Hive JAR  40
3.3 schema 基础  41
3.4 DataFrame API  45
3.4.1 转换  45
3.4.2 基于多个 DataFrame 的转换 . 56
3.4.3 普通的 SQL 查询以及与 Hive 数据交互 . 57
3.5 DataFrame 和 Dataset 中的数据表示 . 58
3.6 数据加载和保存函数 . 59
3.6.1 DataFrameWriter 和 DataFrameReader . 60
3.6.2 格式  60
3.6.3 保存模式  70
3.6.4 分区(发现和写入) . 70
3.7 Dataset  71
3.7.1 与 RDD、DataFrame 和本地集合的互操作性  72
3.7.2 编译时强类型  73
3.7.3 简易函数式转换操作(类似 RDD) . 74
3.7.4 关系型转换操作  74
3.7.5 多 Dataset 关系转换操作 . 75
3.7.6 Dataset 的分组操作  75
3.8 使用用户自定义的函数和聚合函数(UDF、UDAF)进行扩展 . 76
3.9 查询优化器 . 79
3.9.1 逻辑和物理计划  79
3.9.2 代码生成  79
3.9.3 大型查询计划和迭代算法  80
3.10 调试 Spark SQL 查询  80
3.11 JDBC/ODBC 服务器  81
3.12 小结 . 82
第 4 章 Join (SQL 和Spark Core) 84
4.1 Spark Core 中的 Join . 84
4.1.1 选择 Join 类型  86
4.1.2 选择执行计划  88
4.2 Spark SQL 中的 Join  91
4.2.1 DataFrame 的 Join  91
4.2.2 Dataset 的 Join  95
4.3 小结  96
第 5 章 高效的转换 .97
5.1 窄转换与宽转换  98
5.1.1 对于性能的影响  100
5.1.2 对于容错的影响  101
5.1.3 coalesce 的特殊情况  102
5.2 转换会返回什么类型的 RDD . 102
5.3 最小化对象创建成本  104
5.3.1 重用现有对象 . 104
5.3.2 使用更小的数据结构  108
5.4 mapPartitions 迭代器到迭代器的转换  111
5.4.1 什么是迭代器到迭代器的转换?  112
5.4.2 空间和时间优势  113
5.4.3 案例 . 114
5.5 集合操作  117
5.6 降低初始化开销  118
5.6.1 共享变量  119
5.6.2 广播变量  119
5.6.3 累加器  121
5.7 重用 RDD . 125
5.7.1 重用的案例  126
5.7.2 判断重新计算是否足够划算  129
5.7.3 重用类型:缓存、持久化、检查点、shuffle 文件  130
5.7.4 Alluxio(之前的 Tachyon)  135
5.7.5 LRU 缓存 . 135
5.7.6 繁忙集群的注意事项  137
5.7.7 与累加器交互 . 138
5.8 小结 . 139
第 6 章 处理键值对数据 . 140
6.1 金发女孩案例 . 142
6.1.1 金发女孩之版本 0:迭代方案  143
6.1.2 如何使用 PairRDDFunctions 和 OrderedRDDFunctions  146
6.2 键值对上的行动操作  147
6.3 groupByKey 函数有什么风险 . 148
6.3.1 金发女孩之版本 1:groupByKey 方案  148
6.3.2 为什么 groupByKey 会失败  150
6.4 选择聚合操作 . 152
6.5 涉及多个 RDD 的操作 156
6.6 分区器和键值对数据  157
6.6.1 使用 Spark 的分区器对象 . 158
6.6.2 哈希分区  158
6.6.3 范围分区  159
6.6.4 自定义分区  160
6.6.5 保留跨不同转换的分区信息  160
6.6.6 利用协同位置(Co-located)和协同分区(Co-Partitioned)
的 RDD 161
6.6.7 PairRDDFunctions 中关于映射和分区函数的字典  163
6.7 OrderedRDDFunctions 字典  165
6.8 二级排序和 repartitionAndSortWithinPartitions  167
6.8.1 在按键分组和按值排序的函数中利用
repartitionAndSortWithinPartitions  168
6.8.2 如何不按照两个排序键排序  172
6.8.3 金发女孩之版本 2:二级排序  172
6.8.4 金发女孩问题的另外一种不同解法 . 176
6.8.5 金发女孩之版本 3:对单元格值排序 . 181
6.9 掉队检测与不均衡数据 . 182
6.9.1 再次回到金发女孩问题 . 184
6.9.2 金发女孩之版本 4:在每个分区上归并为不同值  184
6.10 小结  191
第 7 章 Scala 之外  192
7.1 JVM 之内、Scala 之外  194
7.2 Scala 之外、JVM 之外  198
7.2.1 PySpark 工作原理 . 198
7.2.2 SparkR 工作原理  207
7.2.3 Spark.jl(Julia Spark)  209
7.2.4 Eclair JS 工作原理  210
7.2.5 Spark 基于公共语言运行时(CLR),C# 及类似语言  211
7.3 在 Spark 中调用其他语言 . 211
7.3.1 使用管道及类似工具  211
7.3.2 JNI  213
7.3.3 Java 本地访问(JNA) . 216
7.3.4 一切的背后都是 FORTRAN  217
7.3.5 谈谈 GPU . 218
7.4 未来 . 219
7.5 小结 . 219
第 8 章 测试和验证  221
8.1 单元测试  221
8.1.1 一般 Spark 单元测试  222
8.1.2 模拟 RDD . 227
8.2 获取测试数据 . 228
8.2.1 生成大数据集 . 229
8.2.2 抽样 . 230
8.3 用 ScalaCheck 检查属性  232
8.4 集成测试  235
8.5 性能验证  237
8.5.1 用于性能验证的 Spark 计数器  237
8.5.2 性能验证相关项目  238
8.6 作业验证  239
8.7 小结 . 240
第 9 章 Spark MLlib 和ML  241
9.1 在 Spark MLlib 和 Spark ML 之间选择 . 241
9.2 使用 MLlib  242
9.2.1 MLlib 入门(组织和导入)  242
9.2.2 MLlib 特征编码和数据准备  244
9.2.3 特征缩放和选择  248
9.2.4 MLlib 模型训练 . 249
9.2.5 预测 . 250
9.2.6 服务和持久化 . 251
9.2.7 模型评估  254
9.3 使用 Spark ML  254
9.3.1 Spark ML 组织和导入  254
9.3.2 管道阶段  256
9.3.3 参数解释  257
9.3.4 数据编码  258
9.3.5 数据清洗  261
9.3.6 Spark ML 模型  261
9.3.7 整合成管道  262
9.3.8 训练管道  263
9.3.9 访问单个阶段 . 264
9.3.10 数据持久化和 Spark ML . 264
9.3.11 使用自定义算法扩展 Spark ML 管道  267
9.3.12 模型和管道持久化与 Spark ML 服务  275
9.4 一般服务考量因素  276
9.5 小结 . 276
第 10 章 Spark 组件和包 278
10.1 基于 Spark 的流处理  280
10.1.1 Source 和 Sink . 281
10.1.2 批处理间隔  283
10.1.3 数据 checkpoint 间隔  284
10.1.4 DStream 的注意事项  284
10.1.5 Structured Streaming 的考量因素  286
10.1.6 高可用性模式(或处理 Driver 程序故障或进行 checkpoint)  294
10.2 GraphX  295
10.3 使用社区包和库  295
10.4 小结  298
附录 调优、调试以及开发者容易忽略的其他问题  301

内容摘要
通过本书,你可以了解到:Spark SQL的新接口如何为SQL的RDD数据结构提升性能。Spark Core与Spark SQL中数据join的不同选择方式。充分利用标准RDD转换的技术。如何解决Spark中键值范式的性能问题。不借助Scala或其他JVM语言来编写高性能的Spark代码。采用改进建议后,如何来测试其功能及性能情况。使用Spark MLlib和Spark ML机器学习库。Spark的流处理组件、外部的社区扩展包。

精彩内容
通过本书,你可以了解到:Spark SQL的新接口如何为SQL的RDD数据结构提升性能。Spark Core与Spark SQL中数据join的不同选择方式。充分利用标准RDD转换的技术。如何解决Spark中键值范式的性能问题。不借助Scala或其他JVM语言来编写高性能的Spark代码。采用改进建议后,如何来测试其功能及性能情况。使用Spark MLlib和Spark ML机器学习库。Spark的流处理组件、外部的社区扩展包。

媒体评论
Apache Spark扩展、优化的最佳实践在一切都顺利时,Apache Spark会带给你极致的体验。但如果你没有达到所希望的性能提升结果,或者对于生产上应用Spark没有足够的信心,那么这本书对你来说很实用。在这里,本书作者通过一些性能优化让Spark查询运行得更快,能够处理更大的数据量级,同时只用到更少的资源。
本书提到的相关技术可以节约数据系统架构的成本以及开发人员的时间,适用软件工程师、数据工程师,以及面对大规模数据应用的系统管理员。此外你还可以加深对Spark的理解,然后学会如何驾驭它。
“本书可以帮助你设计出生产级别Apache Spark方案。同时有助于理解一些关键的Spark优化和内部原理。”——Denny Lee微软Azure DocumentDB团队核心项目经理

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP