Ручне тестування конвеєра даних

ETL та ELT у Python

Jake Roach

Data Engineer

Тестування конвеєрів даних

Конвеєри даних слід ретельно тестувати

  • Перевіряйте, що дані коректно витягуються, трансформуються й завантажуються

$$

Валідація конвеєрів зменшує підтримку після розгортання

  • Виявляйте й виправляйте проблеми якості даних
  • Підвищує надійність даних

Інструменти та методи тестування конвеєрів

  • End-to-end тестування
  • Перевірка даних у «контрольних точках»
  • Модульне тестування
ETL та ELT у Python

Тестове й промислове середовища

Тестові й промислові середовища для створення та запуску конвеєрів даних.

ETL та ELT у Python

End-to-end тестування конвеєра

End-to-end тестування конвеєра даних.

End-to-end тестування

  • Підтвердіть, що конвеєр стабільно запускається повторно
  • Перевіряйте дані в контрольних точках конвеєра
  • Залучайте колег до рев'ю, враховуйте зворотний зв'язок
  • Забезпечте доступ споживачів і їхню задоволеність рішенням
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

Перевірка датафреймів

# 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...