Enregistrer un DataFrame en format Parquet
Avec Spark, vous commencerez souvent avec des sources de données comme CSV, JSON ou autres. Cela offre beaucoup de souplesse pour les types de données à charger, mais ce n'est pas un format optimal pour Spark. Le format Parquet est un magasin de données colonnaire qui permet à Spark d'utiliser le principe de predicate pushdown. En d'autres mots, Spark ne traite que les données nécessaires pour effectuer les opérations que vous définissez, au lieu de lire l'ensemble du jeu de données. Cela donne à Spark plus de latitude pour accéder aux données et améliore souvent considérablement les performances sur de grands jeux de données.
Dans cet exercice, vous allez créer un nouveau fichier Parquet, puis traiter certaines données à partir de celui-ci.
L'objet spark ainsi que les DataFrames df1 et df2 ont été préparés pour vous.
Cette activité fait partie du cours
Nettoyer des données avec PySpark
Instructions de l’exercice
- Affichez le nombre de lignes de
df1etdf2. - Combinez
df1etdf2dans un nouveau DataFrame nommédf3avec la méthodeunion. - Enregistrez
df3dans un fichierparquetnomméAA_DFW_ALL.parquet. - Lisez le fichier
AA_DFW_ALL.parquetet affichez le décompte.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())