DEAデータの取り込みと変換
あるデータエンジニアリングチームは、複数のソースから収集した顧客データをAWS Glue ETLジョブで変換してAmazon Redshiftにロードしています。品質の低いデータが分析結果に悪影響を与えているため、ETLパイプラインにデータ品質チェックを組み込むことになりました。以下の要件があります。
・メールアドレスカラムのNULL率が5%を超えた場合はジョブを即時停止したい
・年齢カラムに0〜120の範囲外の値が含まれる場合はAmazon CloudWatchアラームを発報したい
・品質チェックの結果をAmazon S3に保存して後から監査できるようにしたい
最小の追加実装でこの要件を満たす最も適切なアプローチはどれですか?
AAWS Lambda 関数でカスタムバリデーションロジックを実装し、Glue ジョブの前処理ステップとして呼び出す
AWS Lambda 関数でカスタムバリデーションロジックを実装するアプローチは、実装・テスト・メンテナンスのコストが高く、追加実装量が多くなります。
BAmazon EMR 上で Apache Deequ ライブラリを使いデータ品質チェックを実行し、結果を S3 に保存する
Amazon EMR 上で Apache Deequ ライブラリを使いデータ品質チェックを実行するアプローチは、高機能ですが、別途EMRクラスターの管理が必要でコストと運用負荷が増加します。
CAWS Glue Data Quality のルールセット(DQDL)を Glue ジョブに組み込み、アクションを設定する
✓ 正解
AWS Glue Data Quality は DQDL(Data Quality Definition Language)でルールを宣言的に定義でき、NULL率の閾値超過でジョブを停止(FAIL_JOB)、範囲外値のCloudWatchアラーム連携、品質スコアのS3保存をすべて追加コードなしで設定できます。Glueジョブへのネイティブ統合により最小実装で全要件を満たします。
DAmazon Redshift のテーブルに CHECK 制約を設定してロード時にデータ品質を強制する
Amazon Redshift のテーブルに CHECK 制約を設定するアプローチは、データロード後に機能するためETLパイプラインの上流で品質を担保できず、ジョブ停止制御も困難です。
解説
AWS Glue Data Quality は DQDL(Data Quality Definition Language)でルールを宣言的に定義でき、NULL率の閾値超過でジョブを停止(FAIL_JOB)、範囲外値のCloudWatchアラーム連携、品質スコアのS3保存をすべて追加コードなしで設定できます。Glueジョブへのネイティブ統合により最小実装で全要件を満たします。
選択肢AのAWS Lambda 関数でカスタムバリデーションロジックを実装するアプローチは、実装・テスト・メンテナンスのコストが高く、追加実装量が多くなります。
選択肢BのAmazon EMR 上で Apache Deequ ライブラリを使いデータ品質チェックを実行するアプローチは、高機能ですが、別途EMRクラスターの管理が必要でコストと運用負荷が増加します。
選択肢DのAmazon Redshift のテーブルに CHECK 制約を設定するアプローチは、データロード後に機能するためETLパイプラインの上流で品質を担保できず、ジョブ停止制御も困難です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →