使用Python的PySpark进行数据预处理

在本文中,将深入了解如何使用Python的PySpark进行数据预处理。PySpark是Apache Spark的Python分布,它帮助数据工程师和数据分析师在云环境或本地机器上执行数据分析、数据工程和机器学习任务。将探讨PySpark在数据清洗过程中的作用,并讨论Apache Spark的一些基本功能。

Apache Spark简介

Apache Spark是一个强大的引擎,它支持在云环境或本地机器上执行数据分析、数据工程和机器学习任务。它可以在单个机器或分布式系统(集群)上运行。以下是选择Apache Spark而不是其他替代品的几个理由:

  • 流数据处理:Apache Spark能够通过批流处理实时流数据,并使用选择的编程语言。
  • 数据科学可扩展性:Apache Spark是广泛使用的可扩展计算引擎之一,对于需要高计算能力的数据处理任务,Apache Spark是首选。
  • 处理大数据项目:由于其高计算能力,Apache Spark可以处理云计算中的大数据项目,使用分布式系统/集群,而不仅仅是在本地机器上。

安装PySpark库

要开始使用PySpark,首先需要安装PySpark库。以下是使用pip安装PySpark的命令:

!pip install pyspark

安装完成后,可以导入PySpark库并开始工作。

读取数据集

在开始PySpark操作之前,将使用加利福尼亚房价数据集。以下是如何使用pandas读取数据集的示例:

import pandas as pd data = pd.read_csv('sample_data/california_housing_test.csv') data.head()

现在已经导入了数据集并查看了它,接下来将开始使用PySpark。但在实际使用PySpark之前,需要启动Spark会话。

启动Spark会话

以下是启动Spark会话的步骤:

from pyspark.sql import SparkSession spark_session = SparkSession.builder.appName('PySpark_article').getOrCreate()

通过使用builder函数,首先调用appName类来命名会话(这里给会话命名为"PySpark_article"),最后通过调用getOrCreate()函数来创建会话,并将其存储在名为spark_session的变量中。

使用Spark读取数据

以下是如何使用Spark会话读取CSV格式的数据:

df_spark = spark_session.read.csv('sample_data/california_housing_train.csv')

在上述代码中,可以看到Spark使用Spark会话变量调用read.csv()函数来读取数据。这与在pandas中读取CSV文件时调用read_csv()函数类似。

PySpark的show()函数

以下是如何使用PySpark的show()函数来查看数据:

df_spark.show()

与pandas的head()函数相比,show()函数返回前20条记录,而head()函数默认返回前5条记录。此外,show()函数显示的表格数据格式也与head()函数不同。

以下是如何查看PySpark和Pandas数据框架的数据类型:

type(df_spark_col) type(data)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485