Immutability dan Pemrosesan Lazy

Membersihkan Data dengan PySpark

Mike Metzger

Data Engineering Consultant

Tinjauan variabel

Variabel Python:

  • Mutable
  • Fleksibel
  • Berpotensi bermasalah pada konkurensi
  • Cenderung menambah kompleksitas
Membersihkan Data dengan PySpark

Immutability

Variabel immutable:

  • Komponen pemrograman fungsional
  • Ditetapkan sekali
  • Tidak dapat diubah langsung
  • Dibuat ulang saat di-assign ulang
  • Dapat dibagi pakai secara efisien
Membersihkan Data dengan PySpark

Contoh Immutability

Definisikan data frame baru:

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

Melakukan perubahan:

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

voter_df = voter_df.drop(voter_df.year)
Membersihkan Data dengan PySpark

Pemrosesan Lazy

  • Bukankah ini lambat?
  • Transformations
  • Actions
  • Memungkinkan perencanaan efisien
voter_df = voter_df.withColumn('fullyear', 
    voter_df.year + 2000)
voter_df = voter_df.drop(voter_df.year)

voter_df.count()
Membersihkan Data dengan PySpark

Ayo berlatih!

Membersihkan Data dengan PySpark

Preparing Video For Download...