Înțelegerea Parquet

Curățarea datelor cu PySpark

Mike Metzger

Data Engineering Consultant

Dificultăți cu fișierele CSV

  • Fără schemă definită
  • Datele imbricate necesită tratare specială
  • Format de codificare limitat
Curățarea datelor cu PySpark

Spark și fișierele CSV

  • Parsare lentă
  • Fișierele nu pot fi filtrate (fără "predicate pushdown")
  • Orice utilizare intermediară necesită redefinirea schemei
Curățarea datelor cu PySpark

Formatul Parquet

  • Format de date columnar
  • Suportat în Spark și alte framework-uri de procesare a datelor
  • Suportă predicate pushdown
  • Stochează automat informațiile despre schemă
Curățarea datelor cu PySpark

Lucrul cu Parquet

Citirea fișierelor Parquet

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

Scrierea fișierelor Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Curățarea datelor cu PySpark

Parquet și SQL

Parquet ca stocare de bază pentru operațiile SparkSQL

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
Curățarea datelor cu PySpark

Să exersăm!

Curățarea datelor cu PySpark

Preparing Video For Download...