Zrozumieć Parquet

Czyszczenie danych w PySpark

Mike Metzger

Data Engineering Consultant

Problemy z plikami CSV

  • Brak zdefiniowanego schematu
  • Dane zagnieżdżone wymagają specjalnej obsługi
  • Ograniczony format kodowania
Czyszczenie danych w PySpark

Spark i pliki CSV

  • Wolne parsowanie
  • Brak filtrowania plików (brak „predicate pushdown")
  • Każde pośrednie użycie wymaga ponownego definiowania schematu
Czyszczenie danych w PySpark

Format Parquet

  • Kolumnowy format danych
  • Obsługiwany przez Spark i inne frameworki
  • Obsługuje predicate pushdown
  • Automatycznie przechowuje informacje o schemacie
Czyszczenie danych w PySpark

Praca z Parquet

Odczyt plików Parquet

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

Zapis plików Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Czyszczenie danych w PySpark

Parquet i SQL

Parquet jako magazyn danych dla operacji SparkSQL

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

Czas na ćwiczenia!

Czyszczenie danych w PySpark

Preparing Video For Download...