無限ノック › DEA 練習問題一覧 › 問題
DEAデータの取り込みと変換

あるデータエンジニアリングチームは、複数のソースから収集した顧客データをAWS Glue ETLジョブで変換してAmazon Redshiftにロードしています。品質の低いデータが分析結果に悪影響を与えているため、ETLパイプラインにデータ品質チェックを組み込むことになりました。以下の要件があります。 ・メールアドレスカラムのNULL率が5%を超えた場合はジョブを即時停止したい ・年齢カラムに0〜120の範囲外の値が含まれる場合はAmazon CloudWatchアラームを発報したい ・品質チェックの結果をAmazon S3に保存して後から監査できるようにしたい 最小の追加実装でこの要件を満たす最も適切なアプローチはどれですか?

A
AWS Lambda 関数でカスタムバリデーションロジックを実装し、Glue ジョブの前処理ステップとして呼び出す
AWS Lambda 関数でカスタムバリデーションロジックを実装するアプローチは、実装・テスト・メンテナンスのコストが高く、追加実装量が多くなります。
B
Amazon EMR 上で Apache Deequ ライブラリを使いデータ品質チェックを実行し、結果を S3 に保存する
Amazon EMR 上で Apache Deequ ライブラリを使いデータ品質チェックを実行するアプローチは、高機能ですが、別途EMRクラスターの管理が必要でコストと運用負荷が増加します。
C
AWS Glue Data Quality のルールセット(DQDL)を Glue ジョブに組み込み、アクションを設定する
✓ 正解
AWS Glue Data Quality は DQDL(Data Quality Definition Language)でルールを宣言的に定義でき、NULL率の閾値超過でジョブを停止(FAIL_JOB)、範囲外値のCloudWatchアラーム連携、品質スコアのS3保存をすべて追加コードなしで設定できます。Glueジョブへのネイティブ統合により最小実装で全要件を満たします。
D
Amazon 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生成のオリジナル問題。

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