Pochopení formátu Parquet

Cleaning Data with PySpark

Mike Metzger

Data Engineering Consultant

Problémy se soubory CSV

  • Žádné definované schéma
  • Vnořená data vyžadují zvláštní zpracování
  • Omezený formát kódování
Cleaning Data with PySpark

Spark a soubory CSV

  • Pomalé parsování
  • Soubory nelze filtrovat (žádný „predicate pushdown")
  • Každé mezizpracování vyžaduje znovu definovat schéma
Cleaning Data with PySpark

Formát Parquet

  • Sloupcový formát dat
  • Podporován ve Sparku i jiných frameworkách pro zpracování dat
  • Podporuje predicate pushdown
  • Automaticky ukládá informace o schématu
Cleaning Data with PySpark

Práce s formátem Parquet

Čtení souborů Parquet

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

Zápis souborů Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Cleaning Data with PySpark

Parquet a SQL

Parquet jako úložiště pro operace SparkSQL

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

Pojďme procvičovat!

Cleaning Data with PySpark

Preparing Video For Download...