Parquet begrijpen

Data opschonen met PySpark

Mike Metzger

Data Engineering Consultant

Moeilijkheden met CSV-bestanden

  • Geen gedefinieerd schema
  • Geneste data vergt speciale handling
  • Beperkte encodering
Data opschonen met PySpark

Spark en CSV-bestanden

  • Traag te parsen
  • Bestanden zijn niet te filteren (geen "predicate pushdown")
  • Tussentijds gebruik vereist schema-herdefinitie
Data opschonen met PySpark

Het Parquet-formaat

  • Kolomgebaseerd dataformaat
  • Ondersteund in Spark en andere verwerkingsframeworks
  • Ondersteunt predicate pushdown
  • Slaat schema-info automatisch op
Data opschonen met PySpark

Werken met Parquet

Parquet-bestanden lezen

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

Parquet-bestanden schrijven

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Data opschonen met PySpark

Parquet en SQL

Parquet als opslag voor SparkSQL-bewerkingen

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
Data opschonen met PySpark

Laten we oefenen!

Data opschonen met PySpark

Preparing Video For Download...