• Spark实战(第2版)
  • Spark实战(第2版)
  • Spark实战(第2版)
21年品牌 40万+商家 超1.5亿件商品

Spark实战(第2版)

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

47.31 4.7折 99.8 全新

库存13件

江西南昌
认证卖家担保交易快速发货售后保障

作者[法]吉恩·乔治·佩林(Jean-Georges Perrin) 著 林赐 译

出版社清华大学出版社

ISBN9787302596783

出版时间2022-03

装帧平装

开本16开

定价99.8元

货号29391936

上书时间2024-11-02

思源汇书店

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

   商品详情   

品相描述:全新
商品描述
前言

Apache Spark早已闻名遐迩,不必赘述。如果你正在阅读本部分,那么你可能多多少少对《Spark实战(第2版)》的内容有所了解:大规模数据工程和数据科学、分布式处理等。但是从Rob Thomas的序言和第1章开始,很快你就会发现,Spark的内容远不止于此。
就像Obelix沉迷于魔药   一样,2015年,我开始痴迷于Spark。当时,我在一家法国计算机硬件公司工作,协助设计高性能的数据分析系统。与众人一样,一开始我对Spark持怀疑态度。之后,我开始使用它,到如今,你就看到了《Spark实战(第2版)》的问世。从初的怀疑,到后我对如此神奇的工具产生了真正的热情,这个工具使我们能以一种非常简单的方式处理数据——这就是我真诚的信念。
我用Spark启动了几个项目,这让我能够在Spark Summit、IBM Think以及All Things Open、Open Source 101 上发表演讲。通过本地的 Spark 用户组,我在北卡罗来纳州的Raleigh-Durham 地区与他人合作进行了动画制作。这让我结识了一些优秀的人,还看到了大量与Spark相关的项目。结果,我的热情继续燃烧。
《Spark实战(第2版)》分享了我的这种热情。
虽然《Spark实战(第2版)》中的示例(或实验)基于Java,但的存储库也包含Scala和Python。随着Spark 3.0的推出,Manning团队和我决定确保《Spark实战(第2版)》讲解的是版本,而不是过期的想法。
也许你已经猜到了,我喜欢漫画书,且伴随着漫画书长大。我喜欢这种交流方式,你将在《Spark实战(第2版)》中看到这种交流方式。虽然这不是一本漫画书,但是它有近200张图片,应该可帮助你了解Apache Spark这个奇妙的工具。
Asterix有Obelix作为朋友,同样,《Spark实战(第2版)》有参考资料作为补充。你可从Manning网站的资源部分免费下载参考资料。此补充材料包含Spark静态函数的参考信息,我希望终它将成为更有用的参考资源。
如果你喜欢《Spark实战(第2版)》,请在亚马逊上撰写评论。如果你不喜欢《Spark实战(第2版)》,那么请如人们在婚礼上所说的那样,永远保持沉默。尽管如此,我仍然真诚地希望你喜欢《Spark实战(第2版)》。
大局已定,木已成舟(Alea iacta est)。 

 



导语摘要

用Java编写的Spark应用程序; Spark应用架构; 提取文件、数据库、数据流和Elasticsearch的数据; 使用Spark SOL查询分布式数据集



作者简介

Jean-Georges Perrin是-位经验丰富的数据和软件架构师。他是法国的位IBM Champion,并连续12年获奖,成为终身IBM Chempion。Jean-Georges Perrin 对软件工程和数据的各个方面充满热情。项目促使他转向分布式的数据工程,在此项目中,他在混合云环境中广泛使用Apache Spark、Java和其他工具。他很自豪地成为法国个公认的IBM Champion,并连续12年获奖。作为获奖的数据和软件工程专家,现在,他在全球范围内都开展了业务,但重心在他所居住的美国。Jean-Georges是资深的会议演讲者和参与者,他以书面或在线媒体的形式发表文章,分享他在IT行业超过25年的经验。



目录

第Ⅰ部分  通过示例讲解理论
第1章  Spark介绍   3
1.1  Spark简介及其作用   4
1.1.1  什么是Spark   4
1.1.2  Spark神力的四个支柱   5
1.2  如何使用Spark   7
1.2.1  数据处理/工程场景中的Spark   7
1.2.2  数据科学场景中的Spark   8
1.3  使用Spark,能做些什么   9
1.3.1  使用Spark预测NC餐饮行业的餐馆质量   10
1.3.2  Spark允许Lumeris进行快速数据传输   10
1.3.3  Spark分析CERN的设备日志   10
1.3.4  其他用例   11
1.4  为什么你应该喜欢数据帧   11
1.4.1  从Java角度了解数据帧   11
1.4.2  从RDBMS角度理解数据帧   12
1.4.3  数据帧的图形表示   12
1.5  个示例   13
1.5.1  推荐软件   13
1.5.2  下载代码   13
1.5.3  运行个应用程序   14
1.5.4  份代码   15
1.6  小结   16
第2章  架构和流程   17
2.1  构建思维模型   17
2.2  使用Java代码构建思维模型   18
2.3  运行应用程序   21
2.3.1  连接到主机   21
2.3.2  加载或提取CSV文件   22
2.3.3  转换数据   25
2.3.4  将数据帧中完成的工作保存到数据库中   26
2.4  小结   29
第3章  数据帧的重要作用   31
3.1  数据帧在Spark中的基本作用   32
3.1.1  数据帧的组织   32
3.1.2  不变性并非贬低之词   33
3.2  通过示例演示数据帧的使用   35
3.2.1  简单提取CSV后的数据帧   36
3.2.2  数据存储在分区中   40
3.2.3  挖掘模式   41
3.2.4  提取JSON后的数据帧   43
3.2.5  合并两个数据帧   48
3.3  数据帧Dataset<Row>   53
3.3.1  重用POJO   53
3.3.2  创建字符串数据集   54
3.3.3  来回转换   55
3.4  数据帧的祖先:RDD   60
3.5  小结   61
第4章  Spark的“惰性”本质   63
4.1  现实中懒惰但高效的示例   64
4.2  懒惰但高效的Spark示例   65
4.2.1  查看数据转换和数据操作的结果   65
4.2.2  数据转换的过程,逐步进行   66
4.2.3  数据转换/操作流程的后台代码   68
4.2.4  在182毫秒内创建700多万个数据点的奥秘   71
4.2.5  操作计时背后的奥秘   72
4.3  与RDBMS和传统应用程序进行比较   76
4.3.1  使用青少年生育率数据集   76
4.3.2  分析传统应用程序和Spark应用程序之间的区别   77
4.4  对于以数据为中心的应用程序而言,Spark的表现出乎意料   78
4.5  Catalyst是应用程序的催化器   79
4.6  小结   81
第5章  构建一个用于部署的简单应用程序   83
5.1  无数据提取的示例   83
5.1.1  计算π   84
5.1.2  计算近似值π的代码   85
5.1.3  Java中的lambda函数是什么   90
5.1.4  使用lambda函数估算π   92
5.2  与Spark交互   93
5.2.1  本地模式   94
5.2.2  集群模式   95
5.2.3  Scala和Python的交互模式   97
5.3  小结   102
第6章  部署简单的应用程序   105
6.1  示例之外:组件的作用   106
6.1.1  快速浏览组件及其之间的交互   107
6.1.2  Spark架构的故障排除技巧   110
6.1.3  知识拓展   110
6.2  构建集群   111
6.2.1  如何构建集群   111
6.2.2  设置环境   112
6.3  构建应用程序,在集群上运行   115
6.3.1  构建应用程序的超级JAR   115
6.3.2  使用Git和Maven构建应用程序   117
6.4  在集群上运行应用程序   119
6.4.1  提交超级JAR   119
6.4.2  运行应用程序   120
6.4.3  分析Spark的用户界面   121
6.5  小结   122
第Ⅱ部分  数据提取
第7章  从文件中提取数据   125
7.1  解析器的常见行为   126
7.2  从CSV中提取数据(比较复杂)   126
7.2.1  预期输出   128
7.2.2  代码   128
7.3  使用已知模式提取CSV   129
7.3.1  预期输出   130
7.3.2  代码   130
7.4  提取JSON文件   132
7.4.1  预期输出   134
7.4.2  代码   134
7.5  提取多行JSON文件   135
7.5.1  预期输出   137
7.5.2  代码   137
7.6  提取XML文件   138
7.6.1  预期输出   140
7.6.2  代码   140
7.7  提取文本文件   142
7.7.1  预期输出   143
7.7.2  代码   143
7.8  用于大数据的文件格式   144
7.8.1  传统文件格式的问题   144
7.8.2  Avro是基于模式的序列化格式   145
7.8.3  ORC是一种列式存储格式   145
7.8.4  Parquet也是一种列式存储格式   146
7.8.5  比较Avro、ORC和Parquet   146
7.9  提取Avro、ORC和Parquet文件   146
7.9.1  提取Avro   146
7.9.2  提取ORC   148
7.9.3  提取Parquet   150
7.9.4  用于提取Avro、ORC或Parquet的参考表格   151
7.10  小结   151
第8章  从数据库中提取数据   153
8.1  从关系数据库中提取数据   154
8.1.1  数据库连接备忘录   154
8.1.2  了解示例中使用的数据   155
8.1.3  预期输出   156
8.1.4  代码   157
8.1.5  可替代的代码   159
8.2  dialect的作用   160
8.2.1  什么是dialect   160
8.2.2  Spark提供的JDBC dialect   161
8.2.3  构建自定义dialect   161
8.3  高级查询和提取   163
8.3.1  使用WHERE子句进行过滤   163
8.3.2  在数据库中连接数据   166
8.3.3  执行数据提取和分区   168
8.3.4  高级功能总结   171
8.4  从Elasticsearch中提取数据   171
8.4.1  数据流   171
8.4.2  Spark提取的NYC餐馆数据集   172
8.4.3  从 Elasticsearch中提取NYC餐馆数据集的代码   173
8.5  小结   175
第9章  数据提取进阶:寻找数据源与构建自定义数据源   177
9.1  什么是数据源   179
9.2  直接连接数据源的好处   179
9.2.1  临时文件   180
9.2.2  数据质量脚本   181
9.2.3  按需提供数据   181
9.3  查找Spark软件包中的数据源   181
9.4  构建自己的数据源   181
9.4.1  示例项目的范围   182
9.4.2  数据源API和选项   183
9.5  幕后工作:构建数据源本身   185
9.6  使用注册器文件和广告器类   186
9.7  理解数据和模式之间的关系   188
9.7.1  数据源构建关系   189
9.7.2  关系内部   191
9.8  使用JavaBean构建模式   194
9.9  使用实用程序构建数据帧的神奇方法   196
9.10  其他类   201
9.11  小结   201
第10章  提取结构化流数据   203
10.1  什么是流数据   204
10.2  创建首个流数据   205
10.2.1  生成文件流数据   206
10.2.2  消费记录   208
10.2.3  获取记录,而非数据行   213
10.3  从网络流数据中提取数据   214
10.4  处理多个流数据   216
10.5  区分离散化流数据和结构化流数据   221
10.6  小结   221
第III部分  转换数据
第11章  使用SQL   225
11.1  使用Spark SQL   225
11.2  本地视图与全局视图之间的区别   229
11.3  混合使用数据帧API和Spark SQL   230
11.4  不要删除数据   233
11.5  进一步了解SQL   235
11.6  小结   235
第12章  转换数据   237
12.1  数据转换是什么   238
12.2  在记录层面进行数据转换的过程和示例   238
12.2.1  数据发现,了解数据的复杂性   240
12.2.2  数据映射,绘制过程   241
12.2.3  编写转换代码   244
12.2.4  审查数据转换,确保质量流程   249
12.2.5  如何排序   251
12.2.6  结束Spark数据转换的首次演示   251
12.3  连接数据集   251
12.3.1  仔细查看要连接的数据集   252
12.3.2  构建各县的高等教育机构列表   253
12.3.3  执行连接操作   258
12.4  执行更多的数据转换   263
12.5  小结   263
第13章  转换整个文档   265
13.1  转换整个文档及其结构   265
13.1.1  展平JSON文档   266
13.1.2  构建嵌套文档,用于数据传输和存储   270
13.2  静态函数背后的魔力   274
13.3  执行更多的数据转换   275
13.4  小结   275
第14章  使用自定义函数扩展数据转换   277
14.1  扩展Apache Spark   278
14.2  注册和调用UDF   279
14.2.1  在Spark中注册UDF   281
14.2.2  将UDF与数据帧API结合起来使用   282
14.2.3  使用SQL处理UDF   283
14.2.4  实现UDF   284
14.2.5  编写服务代码   285
14.3  使用UDF,确保数据高质量   287
14.4  考虑UDF的约束   289
14.5  小结   289
第15章  聚合数据   291
15.1  使用Spark聚合数据   291
15.1.1  简单回顾数据聚合   292
15.1.2  使用Spark执行基本的数据聚合   294
15.2  使用实时数据执行数据聚合   296
15.2.1  准备数据集   297
15.2.2  聚合数据,更好地了解学校   301
15.3  使用UDAF构建自定义的聚合操作   306
15.4  小结   311
第IV部分  百尺竿头,更进一步
第16章  缓存和检查点:增强Spark的性能   315
16.1  使用缓存和检查点可提高性能   315
16.1.1  Spark缓存的用途   317
16.1.2

—  没有更多了  —

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

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