Migliora le prestazioni d'importazione

Pulizia dei dati con PySpark

Mike Metzger

Data Engineering Consultant

Cluster Spark

I cluster Spark sono composti da due tipi di processi

  • Processi driver
  • Processi worker
Pulizia dei dati con PySpark

Prestazioni d'importazione

Parametri importanti:

  • Numero di oggetti (file, posizioni di rete, ecc.)
    • Meglio più oggetti che più grandi
    • Puoi importare con wildcard
      airport_df = spark.read.csv('airports-*.txt.gz')
      
  • Dimensione generale degli oggetti
    • Spark va meglio se gli oggetti hanno dimensioni simili
Pulizia dei dati con PySpark

Schemi

Uno schema ben definito migliora molto le prestazioni d'importazione

  • Evita di leggere i dati più volte
  • Fornisce validazione all'import
Pulizia dei dati con PySpark

Come dividere gli oggetti

  • Usa utility/script di sistema (split, cut, awk)
    split -l 10000 -d largefile chunk-
    
  • Usa script personalizzati
  • Scrivi in Parquet
    df_csv = spark.read.csv('singlelargefile.csv')
    df_csv.write.parquet('data.parquet')
    df = spark.read.parquet('data.parquet')
    
Pulizia dei dati con PySpark

Facciamo pratica!

Pulizia dei dati con PySpark

Preparing Video For Download...