Förstå Parquet

Datarensning med PySpark

Mike Metzger

Data Engineering Consultant

Utmaningar med CSV-filer

  • Inget definierat schema
  • Nästlad data kräver särskild hantering
  • Begränsat kodningsformat
Datarensning med PySpark

Spark och CSV-filer

  • Långsam parsning
  • Filer kan inte filtreras (ingen "predicate pushdown")
  • Mellanliggande användning kräver omdefinition av schema
Datarensning med PySpark

Parquet-formatet

  • Ett kolumnbaserat dataformat
  • Stöds i Spark och andra ramverk för databearbetning
  • Stöder predicate pushdown
  • Lagrar schemainformation automatiskt
Datarensning med PySpark

Arbeta med Parquet

Läsa Parquet-filer

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

Skriva Parquet-filer

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Datarensning med PySpark

Parquet och SQL

Parquet som lagringsbas för SparkSQL-operationer

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

Nu kör vi en övning!

Datarensning med PySpark

Preparing Video For Download...