Teknik penanganan data

Membersihkan Data dengan PySpark

Mike Metzger

Data Engineering Consultant

Apa yang ingin kita parse?

  • Data tidak benar
    • Baris kosong
    • Baris komentar
    • Header
  • Struktur bertingkat
    • Beberapa pembatas
  • Data tidak teratur
    • Jumlah kolom per baris berbeda
  • Berfokus pada data CSV
width, height, image

# This is a comment
200    300    affenpinscher;0
600    450    Collie;307    Collie;101
600    449    Japanese_spaniel;23
Membersihkan Data dengan PySpark

Anotasi Stanford ImageNet

  • Mengidentifikasi ras anjing dalam gambar
  • Menyediakan daftar semua anjing yang teridentifikasi dalam gambar
  • Metadata lain (folder dasar, ukuran gambar, dll.)

Contoh baris:

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
Membersihkan Data dengan PySpark

Menghapus baris kosong, header, dan komentar

Parser CSV Spark:

  • Otomatis menghapus baris kosong
  • Dapat menghapus komentar dengan argumen opsional
df1 = spark.read.csv('datafile.csv.gz', comment='#')
  • Menangani field header
    • Ditetapkan lewat argumen
    • Diabaikan jika skema didefinisikan
df1 = spark.read.csv('datafile.csv.gz', header='True')
Membersihkan Data dengan PySpark

Pembuatan kolom otomatis

Spark akan:

  • Otomatis membuat kolom di DataFrame berdasarkan argumen sep
    df1 = spark.read.csv('datafile.csv.gz', sep=',')
    
  • Bawaan menggunakan ,
  • Tetap bisa parse jika sep tidak ada dalam string
    df1 = spark.read.csv('datafile.csv.gz', sep='*')
    
  • Menyimpan data dalam kolom dengan nama bawaan _c0
  • Memungkinkan Anda menangani pemisah bertingkat dengan benar
Membersihkan Data dengan PySpark

Ayo berlatih!

Membersihkan Data dengan PySpark

Preparing Video For Download...