摘要:
本章探讨了您和您的团队运行Spark应用程序所需的基础设施: 集群部署的选项 Spark的不同集群管理器 部署考虑事项和配置部署 在大多数情况下,Spark应该与所有受支持的集群管理器配合工作; 然而,自定义设置意味着需要理解每个集群管理系统的复杂性。最难的部分是如何选择集群管理器。尽管我们很乐意包 阅读全文
摘要:
在第15章中,您了解了Spark如何在集群上运行代码。现在,我们将向您展示开发一个独立的Spark应用程序并将其部署到集群上是多么容易。我们将使用一个简单的模板来实现这一点,该模板分享了一些关于如何构建应用程序的简单技巧,包括设置构建工具和单元测试。这个模板可以在本书的代码存储库中找到。这个模板实际 阅读全文
摘要:
到目前为止,在本书中,我们主要关注Spark作为编程接口的特性。我们已经讨论了结构化api如何接受逻辑操作,将其分解为逻辑计划,并将其转换为物理计划,该物理计划实际上由跨机器集群执行的弹性分布式数据集(RDD)操作组成。本章主要讨论Spark执行代码时会发生什么。我们以一种与实现无关的方式讨论这个问 阅读全文
摘要:
第12章探讨了单一RDD操作的基础。您学习了如何创建RDDs以及为什么要使用它们。此外,我们还讨论了map、filter、reduce以及如何创建函数来转换单个RDD数据。本章将介绍高级的RDD操作,并关注键值RDDs,这是一种用于操作数据的强大抽象。我们还讨论了一些更高级的主题,比如自定义分区,这 阅读全文
摘要:
除了弹性分布式数据集(RDD)接口之外,Spark中的第二类底层API是两种类型的“分布式共享变量”:广播变量和累加器。这些变量可以在用户定义的函数中使用(例如,在RDD或DataFrame上的map函数中),这些函数在集群上运行时具有特殊属性。具体来说,accumulators让将所有task中的 阅读全文
摘要:
本书的前一部分介绍了Spark的结构化api。在几乎所有的计算场景中,您都应该优先使用这些api。话虽如此,有时只使用Higher-Level API无法解决你的问题。对于这些情况,您可能需要使用Spark的底层api,特别是弹性分布式数据集(RDD)、SparkContext,以及分布式共享变量, 阅读全文
摘要:
Datasets是结构化api的基本类型。我们已经使用过DataFrames,它是Row类型的Datasets,可以跨Spark的不同语言使用。Datasets是一种严格意义上的Java虚拟机(JVM)语言特性,仅适用于Scala和Java。使用Datasets,您可以定义数据集中每行包含的对象。在 阅读全文
摘要:
Spark The Definitive Guide(Spark权威指南) 中文版。本书详细介绍了Spark2.x版本的各个模块,目前市面上最好的Spark2.x学习书籍!!! 10.5. 如何运行Spark SQL查询 Spark提供了几个接口来执行SQL查询。 10.5.1. Spark SQL 阅读全文
摘要:
本章正式介绍Spark可以使用的开箱即用的各种其他数据源,以及由更大的社区构建的无数其他数据源。Spark有6个“核心”数据源和数百个由社区编写的外部数据源。能够从所有不同类型的数据源进行读写,这可以说是Spark最大的优势之一。以下是Spark的核心数据源: CSV JSON Parquet OR 阅读全文
摘要:
第7章讨论了聚合单个数据集,这很有帮助,但通常情况下,您的Spark应用程序将汇集大量不同的数据集。因此,连接几乎是所有Spark工作负载的重要组成部分。Spark能够与不同的数据进行对话,这意味着您能够访问公司内的各种数据源。本章不仅介绍了Spark中存在哪些连接以及如何使用它们,还介绍了一些基本 阅读全文