Capire Parquet

Pulizia dei dati con PySpark

Mike Metzger

Data Engineering Consultant

Difficoltà con i file CSV

  • Nessuno schema definito
  • I dati annidati richiedono gestione speciale
  • Formato di codifica limitato
Pulizia dei dati con PySpark

Spark e file CSV

  • Parsing lento
  • I file non possono essere filtrati (niente "predicate pushdown")
  • Ogni uso intermedio richiede ridefinire lo schema
Pulizia dei dati con PySpark

Il formato Parquet

  • Formato di dati colonnare
  • Supportato in Spark e altri framework di data processing
  • Supporta il predicate pushdown
  • Memorizza lo schema automaticamente
Pulizia dei dati con PySpark

Lavorare con Parquet

Lettura di file Parquet

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

Scrittura di file Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Pulizia dei dati con PySpark

Parquet e SQL

Parquet come storage per operazioni SparkSQL

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
Pulizia dei dati con PySpark

Let's Practice!

Pulizia dei dati con PySpark

Preparing Video For Download...