Вступ до очищення даних в Apache Spark

Очищення даних у PySpark

Mike Metzger

Data Engineering Consultant

Що таке очищення даних?

Очищення даних: підготовка сирих даних для конвеєрів обробки.

Можливі завдання під час очищення:

  • Переформатування або заміна тексту
  • Виконання обчислень
  • Видалення «сміття» або неповних даних
Очищення даних у PySpark

Навіщо очищати дані у Spark?

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

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

Переваги Spark:

  • Масштабованість
  • Потужний фреймворк для роботи з даними
Очищення даних у PySpark

Приклад очищення даних

Сирі дані:

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

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

last name first name age (months) state
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...