Importprestaties verbeteren

Data opschonen met PySpark

Mike Metzger

Data Engineering Consultant

Spark-clusters

Spark-clusters bestaan uit twee procestypen

  • Driver-proces
  • Worker-processen
Data opschonen met PySpark

Importprestaties

Belangrijke parameters:

  • Aantal objecten (bestanden, netwerklocaties, enz.)
    • Meer objecten zijn beter dan grotere
    • Importeren via wildcard kan
      airport_df = spark.read.csv('airports-*.txt.gz')
      
  • Algemene grootte van objecten
    • Spark presteert beter als objecten vergelijkbaar van grootte zijn
Data opschonen met PySpark

Schema's

Een goed gedefinieerd schema verbetert de importprestaties sterk

  • Voorkomt dat de data meerdere keren wordt gelezen
  • Biedt validatie bij import
Data opschonen met PySpark

Objecten splitsen

  • Gebruik OS-hulpprogramma's/scripts (split, cut, awk)
    split -l 10000 -d largefile chunk-
    
  • Gebruik eigen scripts
  • Schrijf naar Parquet
    df_csv = spark.read.csv('singlelargefile.csv')
    df_csv.write.parquet('data.parquet')
    df = spark.read.parquet('data.parquet')
    
Data opschonen met PySpark

Laten we oefenen!

Data opschonen met PySpark

Preparing Video For Download...