Cache

Limpeza de dados com o PySpark

Mike Metzger

Data Engineering Consultant

O que é caching?

O caching no Spark:

  • Armazena DataFrames na memória ou no disco
  • Acelera transformações/ações posteriores
  • Reduz uso de recursos
Limpeza de dados com o PySpark

Desvantagens do caching

  • Conjuntos de dados muito grandes podem não caber na memória
  • Cache em disco local pode não melhorar o desempenho
  • Objetos em cache podem não estar disponíveis
Limpeza de dados com o PySpark

Dicas de caching

Ao desenvolver tarefas no Spark:

  • Faça cache só se precisar
  • Teste fazer cache de DataFrames em vários pontos e veja se o desempenho melhora
  • Faça cache na memória e em SSD/NVMe rápidos
  • Faça cache em disco local lento se necessário
  • Use arquivos intermediários!
  • Pare de fazer cache quando terminar
Limpeza de dados com o PySpark

Implementando caching

Chame .cache() no DataFrame antes da Action

voter_df = spark.read.csv('voter_data.txt.gz')
voter_df.cache().count()
voter_df = voter_df.withColumn('ID', monotonically_increasing_id())
voter_df = voter_df.cache()
voter_df.show()
Limpeza de dados com o PySpark

Mais operações de cache

Use .is_cached para verificar o status do cache

print(voter_df.is_cached)
True

Chame .unpersist() quando terminar com o DataFrame

voter_df.unpersist()
Limpeza de dados com o PySpark

Vamos praticar!

Limpeza de dados com o PySpark

Preparing Video For Download...