Ручное тестирование конвейера данных

ETL и ELT в Python

Jake Roach

Data Engineer

Тестирование конвейеров данных

Конвейеры данных нужно тщательно тестировать

  • Проверяйте, что данные извлекаются, преобразуются и загружаются как ожидается

$$

Валидация конвейеров снижает затраты на поддержку после развертывания

  • Находите и устраняйте проблемы с качеством данных
  • Повышает надежность данных

Инструменты и методы тестирования конвейеров данных

  • Сквозное тестирование
  • Проверка данных в «контрольных точках»
  • Модульное тестирование
ETL и ELT в Python

Тестовая и рабочая среды

Тестовая и рабочая среды для создания и запуска конвейеров данных.

ETL и ELT в Python

Сквозное тестирование конвейера

Сквозное тестирование конвейера данных.

Сквозное тестирование

  • Проверяйте, что конвейер работает при повторных запусках
  • Проверяйте данные в контрольных точках конвейера
  • Проводите код-ревью, учитывайте отзывы
  • Убедитесь, что пользователи имеют доступ к решению и довольны им
ETL и ELT в Python

Проверка контрольных точек конвейера

# Extract, transform, and load data as part of a pipeline
...

# Take a look at the data made available in a Postgres database
loaded_data = pd.read_sql("SELECT * FROM clean_stock_data", con=db_engine)
print(loaded_data.shape)
(6438, 4)
print(loaded_data.head())
         timestamps      volume      open     close                            
1997-05-15 13:30:00  1443120000  0.121875  0.097917
1997-05-16 13:30:00   294000000  0.098438  0.086458
1997-05-19 13:30:00   122136000  0.088021  0.085417
ETL и ELT в Python

Проверка DataFrame

# Extract, transform, and load data, as part of a pipeline
...

# Take a look at the data made available in a Postgres database
loaded_data = pd.read_sql("SELECT * FROM clean_stock_data", con=db_engine)

# Compare the two DataFrames.
print(clean_stock_data.equals(loaded_data))
True
ETL и ELT в Python

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

ETL и ELT в Python

Preparing Video For Download...