Améliorer les performances d'importation

Nettoyer des données avec PySpark

Mike Metzger

Data Engineering Consultant

Grappes Spark

Les grappes Spark comprennent deux types de processus

  • Processus pilote
  • Processus travailleurs
Nettoyer des données avec PySpark

Performance d'importation

Paramètres importants :

  • Nombre d'objets (fichiers, emplacements réseau, etc.)
    • Plusieurs petits objets sont préférables à de gros
    • Importation possible avec un motif générique
      airport_df = spark.read.csv('airports-*.txt.gz')
      
  • Taille générale des objets
    • Spark est plus performant si les objets ont une taille similaire
Nettoyer des données avec PySpark

Schémas

Un schéma bien défini améliore grandement l'importation

  • Évite de relire les données plusieurs fois
  • Valide les données à l'importation
Nettoyer des données avec PySpark

Comment fractionner des objets

  • Utilisez des utilitaires/scripts du SE (split, cut, awk)
    split -l 10000 -d largefile chunk-
    
  • Utilisez des scripts personnalisés
  • Écrire en Parquet
    df_csv = spark.read.csv('singlelargefile.csv')
    df_csv.write.parquet('data.parquet')
    df = spark.read.parquet('data.parquet')
    
Nettoyer des données avec PySpark

Passons à la pratique !

Nettoyer des données avec PySpark

Preparing Video For Download...