第 2 章 PySpark 数据分析入门 使用 PySpark 进行数据分析简介
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
Python 是数据科学任务中使用最广泛的语言。 使用同一种语言进行统计计算和网络编程的前景促使 Python 在 2010 年代初开始流行起来。这导致了一个蓬勃发展的工具生态系统和一个有益的数据分析社区,通常被称为 PyData 生态系统。这也是 PySpark 广受欢迎的一大原因。由于熟悉编程语言并拥有广泛的社区,能够通过 Python 中的 Spark 利用分布式计算,有助于数据科学从业人员提高工作效率。出于同样的原因,我们选择用 PySpark 编写示例。
在一个环境中完成所有的数据挖掘和分析,无论数据本身是在哪里存储和处理的,其变革性是难以言表的。我们想确保我们的示例能捕捉到我们刚开始使用 PySpark 时所体验到的那种神奇的感觉。例如,PySpark 提供了与 pandas 的互操作性,而 pandas 是最流行的 PyData 工具之一。我们将在本章中进一步探讨这一特性。
在本章中,我们将通过一个数据清理练习来探索 PySpark 强大的 DataFrame API。在 PySpark 中,DataFrame 是对数据集的一种抽象,这些数据集具有规则的结构,其中每条记录都是由一组列组成的行,并且每列都有明确定义的数据类型。你可以把数据帧看作是关系数据库中表格的 Spark 类似物。尽管命名规则可能会让你联想到pandas.DataFrame 对象,但 Spark 的 DataFrames 是一种不同的野兽。这是因为它们代表的是集群上的分布式数据集,而不是数据中的每一行都存储在同一台机器上的本地数据。尽管在如何使用 DataFrames 以及它们在 Spark 生态系统中扮演的角色方面存在相似之处,但在使用 pandas 或 R 中的数据帧时,您可能会习惯于做一些不适用于 Spark 的事情,因此最好将它们视为各自不同的实体,并尝试以开放的心态对待它们。
至于数据清理,它是任何数据科学项目的第一步 ,通常也是最重要的一步。由于分析的数据存在基本的质量问题或底层工件,导致分析出现偏差,或使数据科学家看到了一些并不存在的东西,因此许多巧妙的分析都功亏一篑。因此,还有什么比数据清理练习更适合介绍您使用 PySpark 和 DataFrames 处理数据呢?
首先,我们将介绍 PySpark 的基础知识,并使用加州大学欧文分校机器学习资料库的样本数据集进行练习。我们将重申 PySpark 为什么是数据科学的好选择,并介绍其编程模型。然后,我们将在系统或集群上设置 PySpark,并使用 PySpark 的 DataFrame API 分析我们的数据集。使用 PySpark 进行数据分析的大部分时间都将围绕 DataFrame API 展开,因此请准备好熟悉它。这将为我们深入研究各种机器学习算法的后续章节做好准备。
执行数据科学任务并不需要深入了解 Spark 在引擎盖下是如何工作的。不过,了解有关 Spark 架构的基本概念会让您更容易使用 PySpark,并在编写代码时做出更好的决定。这就是我们将在下一节介绍的内容。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access