あるデータエンジニアリングチームは、サードパーティのデータプロバイダーからAmazon S3に届くCSVファイルをAWS Glue ETLジョブで処理し、Amazon Redshiftへロードしています。データプロバイダーから品質の低いデータが届くことがあり、以下の問題が発生しています。 ・order_id列にNULL値が含まれることがある ・amount列に負の値が含まれることがある ・created_at列に不正な日付フォーマットが含まれることがある チームはこれらの品質チェックをETLパイプライン内に組み込み、ルール違反が一定割合を超えた場合にジョブを自動的に失敗させたいと考えています。最も適切なアプローチはどれですか?
AWS Glue Data Qualityは、NULL値チェック・範囲チェック・パターンマッチなどのルールをDQDL(Data Quality Definition Language)で記述し、Glueジョブのワークフロー内に品質評価ステップとして組み込めるマネージドサービスです。ルール違反率が設定した閾値を超えた場合にジョブを自動的に失敗させる設定も可能であり、追加サービスなしにETLパイプライン内で一貫したデータ品質管理を実現できます。 選択肢AのカスタムPython/Sparkコードは機能しますが、実装・保守コストが高く品質ルールの管理が難しくなります。Glue Data Qualityが存在する現在は最適ではありません。 選択肢CのAthena+Step Functionsはアーキテクチャが複雑になり、ETLパイプラインへの統合も難しくなります。 選択肢DのLambdaによるファイル単位のチェックは大量ファイルや大容量データへの対応でスケーラビリティに課題があり、Glue ETLジョブとの統合も複雑です。