Een datapijplijn handmatig testen

ETL en ELT in Python

Jake Roach

Data Engineer

Datapijplijnen testen

Datapijplijnen moet je grondig testen

  • Controleer of data wordt geëxtraheerd, getransformeerd en geladen zoals verwacht

$$

Valideren van pijplijnen beperkt onderhoud na livegang

  • Vind en los datakwaliteitsproblemen op
  • Verbetert de betrouwbaarheid van data

Tools en technieken om datapijplijnen te testen

  • End-to-end testen
  • Data valideren bij "checkpoints"
  • Unit testen
ETL en ELT in Python

Test- en productieomgevingen

Test- en productieomgevingen voor het bouwen en draaien van datapijplijnen.

ETL en ELT in Python

Een pijplijn end-to-end testen

End-to-end testen van een datapijplijn.

End-to-end testen

  • Bevestig dat de pijplijn herhaaldelijk draait
  • Valideer data bij checkpoints in de pijplijn
  • Laat peer review doen, verwerk feedback
  • Zorg dat afnemers toegang hebben en tevreden zijn
ETL en ELT in Python

Pijplijn-checkpoints valideren

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

DataFrames valideren

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

Laten we oefenen!

ETL en ELT in Python

Preparing Video For Download...