Immutability en lazy processing

Data opschonen met PySpark

Mike Metzger

Data Engineering Consultant

Variabelen herhalen

Python-variabelen:

  • Mutabel
  • Flexibel
  • Kans op issues bij concurrency
  • Vergroot vaak de complexiteit
Data opschonen met PySpark

Immutability

Immutabele variabelen zijn:

  • Een onderdeel van functioneel programmeren
  • Eén keer gedefinieerd
  • Niet direct te wijzigen
  • Opnieuw aangemaakt bij toewijzing
  • Efficiënt te delen
Data opschonen met PySpark

Voorbeeld van immutability

Nieuwe DataFrame definiëren:

voter_df = spark.read.csv('voterdata.csv')

Wijzigingen aanbrengen:

voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)

voter_df = voter_df.drop(voter_df.year)
Data opschonen met PySpark

Lazy processing

  • Is dit niet traag?
  • Transformaties
  • Acties
  • Maakt efficiënte planning mogelijk
voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)
voter_df = voter_df.drop(voter_df.year)

voter_df.count()
Data opschonen met PySpark

Laten we oefenen!

Data opschonen met PySpark

Preparing Video For Download...