Introdução à limpeza de dados com Apache Spark

Limpeza de dados com o PySpark

Mike Metzger

Data Engineering Consultant

O que é Data Cleaning?

Data Cleaning: preparar dados brutos para uso em pipelines de processamento de dados.

Tarefas possíveis na limpeza de dados:

  • Reformatar ou substituir texto
  • Realizar cálculos
  • Remover dados lixo ou incompletos
Limpeza de dados com o PySpark

Por que fazer limpeza de dados com Spark?

Problemas em sistemas de dados típicos:

  • Desempenho
  • Organizar o fluxo de dados

Vantagens do Spark:

  • Escalável
  • Framework poderoso para tratamento de dados
Limpeza de dados com o PySpark

Exemplo de limpeza de dados

Dados brutos:

name age (years) city
Smith, John 37 Dallas
Wilson, A. 59 Chicago
null 215

Dados limpos:

last name first name age (months) state
Smith John 444 TX
Wilson A. 708 IL
Limpeza de dados com o PySpark

Schemas no Spark

  • Define o formato de um DataFrame
  • Pode conter vários tipos de dados:
    • Strings, datas, inteiros, arrays
  • Pode filtrar dados lixo na importação
  • Melhora o desempenho de leitura
Limpeza de dados com o PySpark

Exemplo de Schema no Spark

Importar schema

import pyspark.sql.types
peopleSchema = StructType([
  # Define the name field
  StructField('name', StringType(), True),
  # Add the age field
  StructField('age', IntegerType(), True),
  # Add the city field
  StructField('city', StringType(), True)  
])

Ler arquivo CSV com os dados

people_df = spark.read.format('csv').load(name='rawdata.csv', schema=peopleSchema)
Limpeza de dados com o PySpark

Vamos praticar!

Limpeza de dados com o PySpark

Preparing Video For Download...