Îmbunătățirea performanței la import

Curățarea datelor cu PySpark

Mike Metzger

Data Engineering Consultant

Clustere Spark

Clusterele Spark sunt formate din două tipuri de procese

  • Procesul driver
  • Procesele worker
Curățarea datelor cu PySpark

Performanța la import

Parametri importanți:

  • Numărul de obiecte (fișiere, locații de rețea etc.)
    • Mai multe obiecte sunt mai bune decât unele mai mari
    • Se poate importa cu wildcard
      airport_df = spark.read.csv('airports-*.txt.gz')
      
  • Dimensiunea generală a obiectelor
    • Spark funcționează mai bine dacă obiectele au dimensiuni similare
Curățarea datelor cu PySpark

Scheme

O schemă bine definită va îmbunătăți semnificativ performanța la import

  • Evită citirea datelor de mai multe ori
  • Oferă validare la import
Curățarea datelor cu PySpark

Cum se împart obiectele

  • Utilizați utilitare/scripturi OS (split, cut, awk)
    split -l 10000 -d largefile chunk-
    
  • Utilizați scripturi personalizate
  • Scrieți în format Parquet
    df_csv = spark.read.csv('singlelargefile.csv')
    df_csv.write.parquet('data.parquet')
    df = spark.read.parquet('data.parquet')
    
Curățarea datelor cu PySpark

Să exersăm!

Curățarea datelor cu PySpark

Preparing Video For Download...