Spara en DataFrame i Parquet-format
När du arbetar med Spark börjar du ofta med CSV, JSON eller andra datakällor. Det ger stor flexibilitet när det gäller vilka typer av data du kan läsa in, men det är inte ett optimalt format för Spark. Formatet Parquet är ett kolumnbaserat datalager som gör det möjligt för Spark att använda predicate pushdown. Det innebär att Spark bara bearbetar den data som krävs för att slutföra de operationer du definierar, i stället för att läsa hela datamängden. Det ger Spark större flexibilitet vid åtkomst till data och förbättrar ofta prestandan avsevärt för stora datamängder.
I den här övningen ska du öva på att skapa en ny Parquet-fil och sedan bearbeta data från den.
Objektet spark samt DataFrames df1 och df2 har redan konfigurerats åt dig.
Den här övningen är en del av kursen
Datarensning med PySpark
Övningsinstruktioner
- Visa antalet rader i
df1ochdf2. - Kombinera
df1ochdf2i en ny DataFrame med namnetdf3med hjälp av metodenunion. - Spara
df3till enparquet-fil med namnetAA_DFW_ALL.parquet. - Läs in filen
AA_DFW_ALL.parquetoch visa antalet rader.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())