Parquet’i Anlama

PySpark ile Veri Temizleme

Mike Metzger

Data Engineering Consultant

CSV dosyalarıyla zorluklar

  • Tanımlı şema yok
  • İç içe veriler özel işlem ister
  • Kodlama biçimi sınırlı
PySpark ile Veri Temizleme

Spark ve CSV dosyaları

  • Ayrıştırması yavaştır
  • Dosyalar filtrelenemez ("predicate pushdown" yok)
  • Ara kullanımda şemayı yeniden tanımlamak gerekir
PySpark ile Veri Temizleme

Parquet Biçimi

  • Sütun bazlı veri biçimi
  • Spark ve diğer veri işleme çerçevelerince desteklenir
  • Predicate pushdown destekler
  • Şema bilgisini otomatik saklar
PySpark ile Veri Temizleme

Parquet ile Çalışma

Parquet dosyalarını okuma

df = spark.read.format('parquet').load('filename.parquet')
df = spark.read.parquet('filename.parquet')

Parquet dosyalarını yazma

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
PySpark ile Veri Temizleme

Parquet ve SQL

SparkSQL işlemleri için Parquet’i arka uç olarak kullanma

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
PySpark ile Veri Temizleme

Hadi pratik yapalım!

PySpark ile Veri Temizleme

Preparing Video For Download...