Een DataFrame opslaan in Parquet-indeling
Als je met Spark werkt, begin je vaak met CSV, JSON of andere databronnen. Dat geeft veel flexibiliteit in de soorten data die je kunt laden, maar het is niet het optimale formaat voor Spark. Het Parquet-formaat is een kolomgeoriënteerde opslag, waarmee Spark gebruik kan maken van predicate pushdown. Dit betekent dat Spark alleen de data verwerkt die nodig is om de door jou gedefinieerde bewerkingen uit te voeren, in plaats van de volledige gegevensset te lezen. Zo krijgt Spark meer flexibiliteit in de toegang tot data en verbetert de performance vaak drastisch bij grote gegevenssets.
In deze oefening ga je een nieuw Parquet-bestand aanmaken en er vervolgens data uit verwerken.
Het spark-object en de DataFrames df1 en df2 zijn voor je klaargezet.
Deze oefening maakt deel uit van de cursus
Data opschonen met PySpark
Oefeninstructies
- Bekijk het aantal rijen van
df1endf2. - Combineer
df1endf2in een nieuw DataFramedf3met deunion-methode. - Sla
df3op als eenparquet-bestand met de naamAA_DFW_ALL.parquet. - Lees het bestand
AA_DFW_ALL.parquetin en toon de count.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())