Comprendre Parquet

Nettoyer des données avec PySpark

Mike Metzger

Data Engineering Consultant

Difficultés avec les fichiers CSV

  • Aucun schéma défini
  • Les données imbriquées exigent un traitement particulier
  • Format de codage limité
Nettoyer des données avec PySpark

Spark et les fichiers CSV

  • Analyse lente
  • Impossible de filtrer les fichiers (pas de « predicate pushdown »)
  • Tout usage intermédiaire exige de redéfinir le schéma
Nettoyer des données avec PySpark

Le format Parquet

  • Un format de données en colonnes
  • Pris en charge par Spark et d'autres cadres de traitement de données
  • Prend en charge le predicate pushdown
  • Stocke automatiquement les informations de schéma
Nettoyer des données avec PySpark

Utiliser Parquet

Lire des fichiers Parquet

df = spark.read.format('parquet').load('filename.parquet')
df = spark.read.parquet('filename.parquet')

Écrire des fichiers Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Nettoyer des données avec PySpark

Parquet et SQL

Parquet comme stockage sous-jacent pour les opérations SparkSQL

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
Nettoyer des données avec PySpark

Passons à la pratique !

Nettoyer des données avec PySpark

Preparing Video For Download...