¿Cómo crear un PySpark DataFrame vacío?

En este artículo, vamos a ver cómo crear un marco de datos PySpark vacío. El marco de datos de Pysaprk vacío es un marco de datos que no contiene datos y puede o no especificar el esquema del marco de datos.

Crear un RDD vacío sin esquema

Primero crearemos un RDD vacío especificando un esquema vacío.

  • El método emptyRDD() crea un RDD sin ningún dato.
  • El método createDataFrame() crea un marco de datos pyspark con los datos y el esquema especificados del marco de datos.

Código:

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()

Producción: 

Dataframe :
++
||
++
++

Schema :
root

Crear un RDD vacío con esquema

Es posible que no obtengamos un archivo para procesar. Sin embargo, aún debemos crear manualmente un DataFrame con el esquema apropiado.

  • Especifique el esquema del marco de datos como columnas = [‘Nombre’, ‘Edad’, ‘Género’] .
  • Cree un RDD vacío con un esquema esperado .

Código:

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()

Producción :

Dataframe :
+----+---+------+
|Name|Age|Gender|
+----+---+------+
+----+---+------+

Schema :
root
 |-- Name: string (nullable = true)
 |-- Age: string (nullable = true)
 |-- Gender: string (nullable = true)

Crear un marco de datos vacío sin esquema

  • Cree un esquema vacío como columnas .
  • Especifique los datos como vacíos ([]) y el esquema como columnas en el método CreateDataFrame() .

Código:

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()

Producción:

Dataframe :
++
||
++
++

Schema :
root

Crear un marco de datos vacío con esquema

  • Especifique el esquema del marco de datos como columnas = [‘Nombre’, ‘Edad’, ‘Género’] .
  • Especifique los datos como vacíos ([]) y el esquema como columnas en el método CreateDataFrame() .

Código:

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()

Producción :

Dataframe :
+----+---+------+
|Name|Age|Gender|
+----+---+------+
+----+---+------+

Schema :
root
 |-- Name: string (nullable = true)
 |-- Age: string (nullable = true)
 |-- Gender: string (nullable = true)

Publicación traducida automáticamente

Artículo escrito por ManikantaBandla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *