📜  从 pandas 创建 spark 数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:21:53.386000             🧑  作者: Mango

从 pandas 创建 spark 数据框 - Python

Apache Spark 是用于大规模数据处理的强大工具。对于Python开发人员来说, Pandas 库是进行数据处理的流行工具。在这篇教程中,我们将了解如何使用 Pandas 创建 Spark 数据框。

安装必要的库

首先,我们需要安装一些必要的库:

  • PySpark:Apache Spark 的Python API。
  • Pandas :数据处理和分析库。
  • PyArrow:用于大规模数据集的内存效率的库。
!pip install pyspark pandas pyarrow
创建 Pandas 数据框

在此示例中,我们将使用电影评分数据集。您可以从 movielens 下载该数据集。

import pandas as pd

movies_df = pd.read_csv("movies.csv")
ratings_df = pd.read_csv("ratings.csv")
创建 Spark 数据框

现在我们将使用通过 Pandas 创建的数据框来创建 Spark 数据框。

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("PandasToSpark").getOrCreate()

movies_sdf = spark.createDataFrame(movies_df)
ratings_sdf = spark.createDataFrame(ratings_df)

在上面的代码中,我们使用 spark.createDataFrame() 函数将 Pandas 数据框转换为 Spark 数据框。

操作和查询 Spark 数据框

现在我们已经创建了 Spark 数据框,我们可以像操作 Pandas 数据框一样进行操作和查询。

# 显示 Spark 数据框中前10行
movies_sdf.show(10)

# 选择特定的列
movies_sdf.select("title", "genres").show(10)

# 对数据进行聚合
ratings_sdf.groupBy("rating").count().show()

# 进行连接操作
joined_sdf = movies_sdf.join(ratings_sdf, on="movieId")
joined_sdf.show(10)
将 Spark 数据框转换回 Pandas 数据框

有时,我们可能需要将 Spark 数据框转换回 Pandas 数据框。 我们可以使用 toPandas() 函数将 Spark 数据框转换为 Pandas 数据框。

joined_pdf = joined_sdf.toPandas()
结论

在本教程中,我们介绍了如何使用 Pandas 创建 Spark 数据框。 我们还学习了如何操作和查询 Spark 数据框,并将其转换回 Pandas 数据框。 Spark 数据框可以帮助您处理大规模数据集,而 Pandas 则提供了一个简单的方式来处理小型数据集。