DEAデータオペレーションとサポート
あるデータエンジニアリングチームは、複数のソースシステムからAmazon S3に毎日届くデータをAmazon Redshiftにロードしています。本番データウェアハウスへの不正確なデータの混入を防ぐため、ETLパイプライン内でNULL値の割合・値の範囲・重複の有無などをカスタムコードを極力書かずに自動検証したいと考えています。Glue ETLジョブに最もシームレスに組み込める方法はどれですか?
AAWS Glue Data Quality のルールセット(DQDL)をGlue ETLジョブに統合し、EvaluateDataQualityトランスフォームで検証ルールを自動適用する
✓ 正解
AWS Glue Data QualityのDQDLルールをEvaluateDataQualityトランスフォームとしてGlue ETLジョブに組み込むことで、NULL率・値の範囲・重複などをコードなしで自動検証でき、違反時の動作も柔軟に制御可能なため最適です。
BAWS Lambda関数をGlue ETLジョブの前後に配置し、PandasとGreat ExpectationsライブラリでNULL・重複チェックを実装する
AWS Lambda + Pandas + Great Expectationsはカスタムコードの実装が必要で「コードを極力書かない」という要件に反します。またGlue ETLジョブとのオーケストレーション連携も複雑になります。
CAmazon CloudWatch カスタムメトリクスをGlue ETLジョブから送信し、閾値アラームを設定してデータ品質の異常を事後検知する
Amazon CloudWatchカスタムメトリクスはETLジョブ完了後の事後監視に使われるものであり、パイプライン内でリアルタイムにデータ検証ルールを適用してロードを制御する機能はありません。
DAmazon SageMaker Data Wranglerでデータプロファイリングジョブを定期実行し、品質レポートをS3に出力してGlueジョブ完了後に参照する
Amazon SageMaker Data WranglerはML特徴量エンジニアリング向けのツールであり、Glue ETLパイプラインへの組み込みや自動データ品質ルールの適用・制御には設計されていません。
解説
AWS Glue Data Quality は、DQDL(Data Quality Definition Language)という宣言型ルール記述言語でデータ品質ルールを定義し、Glue ETLジョブ内の EvaluateDataQuality トランスフォームとして組み込めます。NULL値の割合(Completeness)・値の範囲(ColumnValues)・重複(Uniqueness)などのルールをコードなしで設定でき、違反時はジョブの停止・継続・警告の動作を制御できます。不正データが本番データウェアハウスに到達する前に自動的に検出・隔離できる点が最大の利点です。
選択肢BのAWS Lambda(Pandas + Great Expectations)はカスタムコードの実装が必要で、「コードを極力書かない」という要件に反し、Glue ETLとのオーケストレーションも複雑になります。
選択肢CのAmazon CloudWatchカスタムメトリクスは事後監視には有効ですが、ETLパイプライン内でリアルタイムにデータ検証ルールを適用してロードを制御する機能はありません。
選択肢DのAmazon SageMaker Data Wranglerは機械学習向けの特徴量エンジニアリングツールであり、Glue ETLへの組み込みや自動検証ルールの設定には適していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →