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