Manuell testning av en datapipeline

ETL och ELT i Python

Jake Roach

Data Engineer

Testning av datapipelines

Datapipelines bör testas noggrant

  • Validera att data extraheras, transformeras och laddas som förväntat

$$

Validering av pipelines minskar underhållsinsatserna efter driftsättning

  • Identifiera och åtgärda datakvalitetsproblem
  • Förbättrar datatillförlitligheten

Verktyg och tekniker för att testa datapipelines

  • Testning end-to-end
  • Validering av data vid "kontrollpunkter"
  • Enhetstestning
ETL och ELT i Python

Test- och produktionsmiljöer

Test- och produktionsmiljöer för att bygga och köra datapipelines.

ETL och ELT i Python

Testa en pipeline end-to-end

End-to-end-testning av en datapipeline.

End-to-end-testning

  • Bekräfta att pipelinen körs vid upprepade försök
  • Validera data vid pipelinens kontrollpunkter
  • Genomför kollegial granskning och ta hänsyn till feedback
  • Säkerställ att användare har tillgång till och är nöjda med lösningen
ETL och ELT i Python

Validera pipelinens kontrollpunkter

# 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 och ELT i Python

Validera 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 och ELT i Python

Nu kör vi en övning!

ETL och ELT i Python

Preparing Video For Download...