無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、サードパーティのデータプロバイダーからAmazon S3に届くCSVファイルをAWS Glue ETLジョブで処理し、Amazon Redshiftへロードしています。データプロバイダーから品質の低いデータが届くことがあり、以下の問題が発生しています。 ・order_id列にNULL値が含まれることがある ・amount列に負の値が含まれることがある ・created_at列に不正な日付フォーマットが含まれることがある チームはこれらの品質チェックをETLパイプライン内に組み込み、ルール違反が一定割合を超えた場合にジョブを自動的に失敗させたいと考えています。最も適切なアプローチはどれですか?

A
Glueジョブのスクリプト内にPython/SparkのカスタムバリデーションロジックをDynamicFrameで実装し、エラー率が閾値を超えたら例外を発生させる
カスタムPython/Sparkコードは機能しますが、実装・保守コストが高く品質ルールの管理が難しくなります。Glue Data Qualityが存在する現在は最適ではありません。
B
AWS Glue Data Qualityを使用してルールセット(RuleSet)を定義し、ETLワークフロー内の品質評価ノードでチェックを実行して違反時にジョブを失敗させる
✓ 正解
AWS Glue Data Qualityは、NULL値チェック・範囲チェック・パターンマッチなどのルールをDQDL(Data Quality Definition Language)で記述し、Glueジョブのワークフロー内に品質評価ステップとして組み込めるマネージドサービスです。ルール違反率が設定した閾値を超えた場合にジョブを自動的に失敗させる設定も可能であり、追加サービスなしにETLパイプライン内で一貫したデータ品質管理を実現できます。
C
Amazon Athenaでバリデーションクエリを実装し、AWS Step FunctionsでAthenaクエリ実行→品質チェック→Glueジョブ起動の順にオーケストレーションする
Athena+Step Functionsはアーキテクチャが複雑になり、ETLパイプラインへの統合も難しくなります。
D
AWS Lambda関数でS3に届いたCSVファイルをスキャンし、品質チェックに失敗したファイルを隔離バケットに移動してからGlueジョブをトリガーする
Lambdaによるファイル単位のチェックは大量ファイルや大容量データへの対応でスケーラビリティに課題があり、Glue 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ジョブとの統合も複雑です。

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

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

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