如何创建一个空的 PySpark DataFrame ?
在本文中,我们将看到如何创建一个空的 PySpark 数据框。 Empty Pysaprk 数据帧是一个不包含数据的数据帧,可能会也可能不会指定数据帧的模式。
创建一个没有模式的空 RDD
我们将首先通过指定一个空模式来创建一个空 RDD。
- emptyRDD()方法创建一个没有任何数据的 RDD。
- createDataFrame()方法使用数据帧的指定数据和模式创建一个 pyspark 数据帧。
代码:
Python3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an empty RDD
emp_RDD = spark.sparkContext.emptyRDD()
# Create empty schema
columns = StructType([])
# Create an empty RDD with empty schema
data = spark.createDataFrame(data = emp_RDD,
schema = columns)
# Print the dataframe
print('Dataframe :')
data.show()
# Print the schema
print('Schema :')
data.printSchema()
Python3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an empty RDD
emp_RDD = spark.sparkContext.emptyRDD()
# Create an expected schema
columns = StructType([StructField('Name',
StringType(), True),
StructField('Age',
StringType(), True),
StructField('Gender',
StringType(), True)])
# Create an empty RDD with expected schema
df = spark.createDataFrame(data = emp_RDD,
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
Python3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an empty schema
columns = StructType([])
# Create an empty dataframe with empty schema
df = spark.createDataFrame(data = [],
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
Python3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an expected schema
columns = StructType([StructField('Name',
StringType(), True),
StructField('Age',
StringType(), True),
StructField('Gender',
StringType(), True)])
# Create a dataframe with expected schema
df = spark.createDataFrame(data = [],
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
输出:
Dataframe :
++
||
++
++
Schema :
root
使用模式创建一个空的RDD
有可能我们不会得到要处理的文件。但是,我们仍然必须手动创建具有适当架构的 DataFrame。
- 将数据框的架构指定为 columns = ['Name', 'Age', 'Gender'] 。
- 创建一个带有预期 schema的空 RDD。
代码:
蟒蛇3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an empty RDD
emp_RDD = spark.sparkContext.emptyRDD()
# Create an expected schema
columns = StructType([StructField('Name',
StringType(), True),
StructField('Age',
StringType(), True),
StructField('Gender',
StringType(), True)])
# Create an empty RDD with expected schema
df = spark.createDataFrame(data = emp_RDD,
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
输出 :
Dataframe :
+----+---+------+
|Name|Age|Gender|
+----+---+------+
+----+---+------+
Schema :
root
|-- Name: string (nullable = true)
|-- Age: string (nullable = true)
|-- Gender: string (nullable = true)
创建一个没有架构的空数据框
- 创建一个空架构作为columns 。
- 在CreateDataFrame()方法中将数据指定为empty([])并将架构指定为列。
代码:
蟒蛇3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an empty schema
columns = StructType([])
# Create an empty dataframe with empty schema
df = spark.createDataFrame(data = [],
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
输出:
Dataframe :
++
||
++
++
Schema :
root
使用架构创建空数据框
- 将数据框的架构指定为columns = ['Name', 'Age', 'Gender'] 。
- 在CreateDataFrame()方法中将数据指定为 empty([])并将架构指定为列。
代码:
蟒蛇3
# Import necessary libraries
from pyspark.sql import SparkSession
from pyspark.sql.types import *
# Create a spark session
spark = SparkSession.builder.appName('Empty_Dataframe').getOrCreate()
# Create an expected schema
columns = StructType([StructField('Name',
StringType(), True),
StructField('Age',
StringType(), True),
StructField('Gender',
StringType(), True)])
# Create a dataframe with expected schema
df = spark.createDataFrame(data = [],
schema = columns)
# Print the dataframe
print('Dataframe :')
df.show()
# Print the schema
print('Schema :')
df.printSchema()
输出 :
Dataframe :
+----+---+------+
|Name|Age|Gender|
+----+---+------+
+----+---+------+
Schema :
root
|-- Name: string (nullable = true)
|-- Age: string (nullable = true)
|-- Gender: string (nullable = true)