Tester manuellement un pipeline de données

ETL et ELT en Python

Jake Roach

Data Engineer

Tester des pipelines de données

Les pipelines de données doivent être soigneusement testés

  • Valider l'extraction, la transformation et le chargement comme prévu

$$

Valider les pipelines limite l'effort de maintenance après déploiement

  • Détecter et corriger les problèmes de qualité des données
  • Améliore la fiabilité des données

Outils et techniques pour tester les pipelines

  • Tests de bout en bout
  • Validation des données à des « checkpoints »
  • Tests unitaires
ETL et ELT en Python

Environnements de test et de production

Environnements de test et de production pour créer et exécuter des pipelines de données.

ETL et ELT en Python

Tester un pipeline de bout en bout

Test de bout en bout d'un pipeline de données.

Tests de bout en bout

  • Confirmer que le pipeline s'exécute à chaque tentative
  • Valider les données aux checkpoints du pipeline
  • Relecture par les pairs, intégrer les retours
  • Garantir l'accès des consommateurs et leur satisfaction
ETL et ELT en Python

Valider les checkpoints du pipeline

# 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 et ELT en Python

Valider des DataFrames

# 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 et ELT en Python

Passons à la pratique !

ETL et ELT en Python

Preparing Video For Download...