Введение в очистку данных с Apache Spark

Очистка данных с помощью PySpark

Mike Metzger

Data Engineering Consultant

Что такое очистка данных?

Очистка данных: подготовка сырых данных для использования в конвейерах обработки.

Типичные задачи очистки данных:

  • Переформатирование или замена текста
  • Выполнение вычислений
  • Удаление некорректных или неполных данных
Очистка данных с помощью PySpark

Зачем использовать Spark для очистки данных?

Проблемы типичных систем обработки данных:

  • Производительность
  • Организация потоков данных

Преимущества Spark:

  • Масштабируемость
  • Мощный фреймворк для работы с данными
Очистка данных с помощью PySpark

Пример очистки данных

Исходные данные:

имя возраст (лет) город
Smith, John 37 Dallas
Wilson, A. 59 Chicago
null 215

Очищенные данные:

фамилия имя возраст (месяцев) штат
Smith John 444 TX
Wilson A. 708 IL
Очистка данных с помощью PySpark

Схемы Spark

  • Определяют формат DataFrame
  • Поддерживают различные типы данных:
    • строки, даты, целые числа, массивы
  • Позволяют фильтровать некорректные данные при импорте
  • Повышают производительность чтения
Очистка данных с помощью PySpark

Пример схемы Spark

Импорт схемы

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)  
])

Чтение CSV-файла с данными

people_df = spark.read.format('csv').load(name='rawdata.csv', schema=peopleSchema)
Очистка данных с помощью PySpark

Давайте потренируемся!

Очистка данных с помощью PySpark

Preparing Video For Download...