Guardar un DataFrame en formato Parquet
Cuando trabajes con Spark, a menudo empezarás con CSV, JSON u otras fuentes de datos. Esto proporciona mucha flexibilidad para los tipos de datos a cargar, pero no es un formato óptimo para Spark. El formato Parquet
es un almacén de datos columnar, que permite a Spark utilizar el pushdown de predicados. Esto significa que Spark sólo procesará los datos necesarios para completar las operaciones que definas, en lugar de leer todo el conjunto de datos. Esto da a Spark más flexibilidad para acceder a los datos y a menudo mejora drásticamente el rendimiento en grandes conjuntos de datos.
En este ejercicio, vamos a practicar la creación de un nuevo archivo Parquet y, a continuación, procesaremos algunos datos de él.
Se han configurado para ti el objeto spark
y los DataFrames df1
y df2
.
Este ejercicio forma parte del curso
Limpiar datos con PySpark
Instrucciones del ejercicio
- Visualiza el recuento de filas de
df1
ydf2
. - Combina
df1
ydf2
en un nuevo DataFrame llamadodf3
con el métodounion
. - Guarda
df3
en un archivoparquet
llamadoAA_DFW_ALL.parquet
. - Lee el archivo
AA_DFW_ALL.parquet
y muestra el recuento.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# View the row count of df1 and df2
print("df1 Count: %d" % df1.____())
print("df2 Count: %d" % ____.____())
# Combine the DataFrames into one
df3 = df1.union(df2)
# Save the df3 DataFrame in Parquet format
df3.____.____('AA_DFW_ALL.parquet', mode='overwrite')
# Read the Parquet file into a new DataFrame and run a count
print(spark.read.____('AA_DFW_ALL.parquet').count())