Tehnici de gestionare a datelor

Curățarea datelor cu PySpark

Mike Metzger

Data Engineering Consultant

Ce încercăm să parsăm?

  • Date incorecte
    • Rânduri goale
    • Linii comentate
    • Anteturi
  • Structuri imbricate
    • Delimitatori multipli
  • Date neregulate
    • Număr diferit de coloane per rând
  • Focalizat pe date CSV
width, height, image

# This is a comment
200    300    affenpinscher;0
600    450    Collie;307    Collie;101
600    449    Japanese_spaniel;23
Curățarea datelor cu PySpark

Adnotări Stanford ImageNet

  • Identifică rase de câini în imagini
  • Furnizează lista tuturor câinilor identificați în imagine
  • Alte metadate (dosar de bază, dimensiunea imaginii etc.)

Exemplu de rânduri:

02111277    n02111277_3206    500    375    Newfoundland,110,73,416,298
02108422    n02108422_4375    500    375    bull_mastiff,101,90,214,356 \
 bull_mastiff,282,74,416,370
Curățarea datelor cu PySpark

Eliminarea liniilor goale, anteturilor și comentariilor

Parserul CSV din Spark:

  • Elimină automat liniile goale
  • Poate elimina comentariile printr-un argument opțional
df1 = spark.read.csv('datafile.csv.gz', comment='#')
  • Gestionează câmpurile de antet
    • Definite prin argument
    • Ignorate dacă este definită o schemă
df1 = spark.read.csv('datafile.csv.gz', header='True')
Curățarea datelor cu PySpark

Crearea automată a coloanelor

Spark va:

  • Crea automat coloane într-un DataFrame pe baza argumentului sep
    df1 = spark.read.csv('datafile.csv.gz', sep=',')
    
  • Implicit folosește ,
  • Poate parsa cu succes chiar dacă sep nu apare în șir
    df1 = spark.read.csv('datafile.csv.gz', sep='*')
    
  • Stochează datele în coloana implicită _c0
  • Permite gestionarea corectă a separatorilor imbricați
Curățarea datelor cu PySpark

Să exersăm!

Curățarea datelor cu PySpark

Preparing Video For Download...