📅  最后修改于: 2023-12-03 15:09:36.858000             🧑  作者: Mango
在 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|
+----+----+----+
+----+----+----+
这个数据框包含三列,分别是 col1
,col2
和 col3
。
现在,我们将数据附加到空数据框中。我们可以使用 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
函数将数据附加到空数据框中。通过这种方法,我们可以把多个数据框合并成一个大的数据框。