📜  将数据附加到 PySpark 中的空数据框(1)

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

将数据附加到 PySpark 中的空数据框

在 PySpark 中,我们可以使用 DataFrame 对象来处理结构化数据。有时候我们需要将数据附加到一个空的数据框中。本文将介绍如何在 PySpark 中将数据附加到空数据框。

创建空数据框

首先,让我们创建一个空的数据框。可以使用 createDataFrame 函数来创建一个只有列名的数据框,如下所示:

from pyspark.sql import SparkSession

# 创建 SparkSession
spark = SparkSession.builder.appName("append_to_empty_df").getOrCreate()

# 创建一个空的数据框
schema = StructType([StructField("col1", StringType(), True),
                     StructField("col2", IntegerType(), True),
                     StructField("col3", DoubleType(), True)])

empty_df = spark.createDataFrame([], schema)

empty_df.show()

运行结果:

+----+----+----+
|col1|col2|col3|
+----+----+----+
+----+----+----+

这个数据框包含三列,分别是 col1col2col3

附加数据

现在,我们将数据附加到空数据框中。我们可以使用 union 函数将两个数据框合并起来。假设我们有一个包含数据的数据框,名为 data_df,那么将其附加到空数据框中的代码如下所示:

# 创建一个包含数据的数据框
data = [("foo", 1, 1.0),
        ("bar", 2, 2.0)]
data_df = spark.createDataFrame(data, schema)

# 将数据框附加到空数据框中
result_df = empty_df.union(data_df)

result_df.show()

运行结果:

+----+----+----+
|col1|col2|col3|
+----+----+----+
| foo|   1| 1.0|
| bar|   2| 2.0|
+----+----+----+

我们可以看到,数据已经成功附加到空数据框中了。

总结

在 PySpark 中,我们可以使用 union 函数将数据附加到空数据框中。通过这种方法,我们可以把多个数据框合并成一个大的数据框。