Entendendo Parquet

Limpeza de dados com o PySpark

Mike Metzger

Data Engineering Consultant

Dificuldades com arquivos CSV

  • Sem esquema definido
  • Dados aninhados exigem tratamento especial
  • Formato de codificação limitado
Limpeza de dados com o PySpark

Spark e arquivos CSV

  • Parse lento
  • Não dá para filtrar arquivos (sem "predicate pushdown")
  • Uso intermediário exige redefinir o esquema
Limpeza de dados com o PySpark

O formato Parquet

  • Um formato de dados colunar
  • Suportado no Spark e em outros frameworks de processamento de dados
  • Suporta predicate pushdown
  • Armazena o esquema automaticamente
Limpeza de dados com o PySpark

Trabalhando com Parquet

Lendo arquivos Parquet

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

Gravando arquivos Parquet

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
Limpeza de dados com o PySpark

Parquet e SQL

Parquet como base para operações do SparkSQL

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
Limpeza de dados com o PySpark

Vamos praticar!

Limpeza de dados com o PySpark

Preparing Video For Download...