データパイプラインを手動でテストする

Python で学ぶ ETL と ELT

Jake Roach

Data Engineer

データパイプラインのテスト

データパイプラインは十分にテストする必要があります

  • データが期待通りに抽出、変換、読み込みされているかを検証します

$$

パイプラインを検証することで、デプロイ後の保守作業を抑えられます

  • データ品質の問題を特定して修正します
  • データの信頼性を向上させます

データパイプラインをテストするツールと手法

  • エンドツーエンドテスト
  • 「チェックポイント」でのデータ検証
  • ユニットテスト
Python で学ぶ ETL と ELT

テスト環境と本番環境

データパイプラインの構築と実行に使用するテスト環境と本番環境。

Python で学ぶ ETL と ELT

パイプラインをエンドツーエンドでテストする

データパイプラインのエンドツーエンドテスト。

エンドツーエンドテスト

  • パイプラインが繰り返し実行できるかを確認します
  • パイプラインのチェックポイントでデータを検証します
  • ピアレビューを実施し、フィードバックを取り入れます
  • 利用者がソリューションにアクセスでき、満足しているかを確認します
Python で学ぶ ETL と ELT

パイプラインのチェックポイントを検証する

# 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
Python で学ぶ ETL と ELT

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
Python で学ぶ ETL と ELT

練習しましょう!

Python で学ぶ ETL と ELT

Preparing Video For Download...