Mise en cache

Nettoyer des données avec PySpark

Mike Metzger

Data Engineering Consultant

Qu'est-ce que la mise en cache ?

La « mise en cache » dans Spark :

  • Stocke des DataFrames en mémoire ou sur disque
  • Accélère les transformations/actions suivantes
  • Réduit l'utilisation des ressources
Nettoyer des données avec PySpark

Inconvénients de la mise en cache

  • Des ensembles de données très volumineux peuvent ne pas tenir en mémoire
  • La mise en cache sur disque local peut ne pas améliorer la performance
  • Les objets mis en cache peuvent être indisponibles
Nettoyer des données avec PySpark

Conseils pour la mise en cache

Lors du développement de tâches Spark :

  • Mettez en cache seulement si nécessaire
  • Essayez de mettre en cache des DataFrames à divers points et vérifiez si la performance s'améliore
  • Mettez en cache en mémoire et sur du stockage SSD/NVMe rapide
  • Mettez en cache sur un disque local lent au besoin
  • Utilisez des fichiers intermédiaires !
  • Arrêtez la mise en cache des objets quand c'est terminé
Nettoyer des données avec PySpark

Mettre en œuvre la mise en cache

Appelez .cache() sur le DataFrame avant l'action

voter_df = spark.read.csv('voter_data.txt.gz')
voter_df.cache().count()
voter_df = voter_df.withColumn('ID', monotonically_increasing_id())
voter_df = voter_df.cache()
voter_df.show()
Nettoyer des données avec PySpark

Autres opérations de cache

Vérifiez .is_cached pour connaître l'état du cache

print(voter_df.is_cached)
True

Appelez .unpersist() quand vous avez terminé avec le DataFrame

voter_df.unpersist()
Nettoyer des données avec PySpark

Passons à la pratique !

Nettoyer des données avec PySpark

Preparing Video For Download...