DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、AWS Glueジョブで日次ETLを実行しています。最近、入力データに欠損値や想定外の値が混入し、下流のRedshiftに不正なデータが書き込まれる事象が発生しました。ETL処理の中でデータの完全性や有効性を検証し、ルール違反時にジョブを失敗させて通知したいと考えています。最小の運用負荷で実現する方法はどれですか。

A
Glueジョブ内にPythonの検証コードを独自実装し、違反時に例外をスローする
独自のPython検証コードはルール変更のたびにコード修正とテストが必要で開発・保守負荷が高く、マネージド機能を使う方法より運用負荷が大きいため最適ではない。
B
AWS Glue Data Qualityのルールセットをジョブに組み込み、品質スコアに基づき処理を制御する
✓ 正解
Glue Data QualityはDeequベースのマネージド機能でDQDLによりルールを宣言的に定義でき、ETLジョブ内で検証して品質スコアに応じ処理制御や通知が可能なため独自実装不要で運用負荷が最小となる。
C
Amazon Athenaで書き込み後のRedshiftデータを定期的にクエリして異常を検出する
Athenaでの書き込み後検証では不正データが既にRedshiftへロードされた後の事後検出となり、ジョブを止めて不正データの混入を防ぐという予防的要件を満たさない。
D
Lambda関数を別途作成し、ETL完了後にデータをサンプリングして検証する
Lambdaでの事後サンプリング検証はETL処理中の検証ではなく、サンプリングのため全データの完全性・有効性を保証できず要件を満たさない。

解説

AWS Glue Data Qualityは、オープンソースのDeequをベースとしたマネージドなデータ品質機能で、DQDL(Data Quality Definition Language)でルールセットを定義できます。Glue ETLジョブに組み込めば処理中にデータを検証でき、品質スコアやルール違反に応じてジョブを失敗させEventBridge等で通知する制御が可能で、独自コード保守が不要なため運用負荷が最小です。 選択肢Aの独自実装は検証ロジックの開発・保守の負荷が高い。 選択肢Cの書き込み後のAthenaクエリでは不正データが既にRedshiftへ入った後の検出となり予防にならない。 選択肢DのLambdaでのサンプリングはETL中の検証ではなく完了後である上、サンプリングでは全件の品質を保証できない。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
DEA の問題一覧に戻る