PySpark 初学者:掌握基础知识

理解分布式数据、惰性逻辑和您的第一个 DataFrame 的分步指南。面向初学者的 PySpark:掌握基础知识一文首先出现在 Towards Data Science 上。

来源:走向数据科学

通常以 pandas 等工具开头。它们直观、强大,非常适合中小型数据集。但是,一旦数据增长超出内存所能容纳的范围,性能问题就会开始显现。这就是 PySpark 发挥作用的地方。

请注意,在本文中,我经常互换使用术语 Spark 和 PySpark。就我们的目的而言,这并不重要,但您应该记住它们是不同的。 Spark 是总体分布式计算框架(用 Scala 编写),而 PySpark 是 Spark 的专用 Python API。

什么是 PySpark?

PySpark 是 Apache Spark 的 Python API,Apache Spark 是一个用于高效处理大量数据的分布式计算框架。 Spark 不是在一台机器上运行所有计算,而是将工作分散到多台机器(集群)上,允许您大规模处理数据,同时编写 Python 用户仍然感觉熟悉的代码。

PySpark 的主要优势之一是它抽象了分布式系统的大部分复杂性。您不需要手动管理线程、内存或网络通信。 Spark 会为您处理这些问题,而您则专注于描述要对数据执行的操作,而不是如何执行数据。

如果您是 Spark 的新手,那么在使用它之前您应该了解三个关键的核心思想。它们是:

1. 集群

当人们听说 Spark 在“集群”上运行时,听起来可能会令人生畏。在实践中,您不需要深入了解分布式系统即可开始使用。集群只是一组联网的可以协作的服务器。在集群上运行的 Spark 应用程序中,一台机器充当驱动程序,协调工作,而其他机器则充当执行器,对数据块执行计算。当执行器节点完成工作后,它们会向驱动器节点发信号,然后驱动器可以根据最终结果集执行所需的任何操作。

2. Spark 数据框

3. 惰性评估与急切评估

摘要