AWS認定資格 WEB問題集&徹底解説
データエンジニア-アソシエイト
問題文と選択肢
追加のジョブや外部ツールを構築せず、Glue ETL ジョブの中でこの検証を組み込みで実現するにはどうすればよいですか。
- AWS Glue Schema Registry でスキーマバージョンを固定し、互換性のないレコードを拒否する
- AWS Glue Crawler を定期実行してテーブル定義を再クロールし、スキーマの差分を検知する
- AWS Glue Data Quality を使用し、DQDL ルールセットで欠損値やフォーマット逸脱を自動的に検証する
- AWS Glue Job Bookmarks を有効化し、前回処理済みのレコードのみを次回実行時にスキップする
A. AWS Glue Schema Registry でスキーマバージョンを固定し、互換性のないレコードを拒否する
AWS Glue Schema Registry は、Kinesis や MSK などのストリーミングデータについてスキーマ(フィールド構成やデータ型)のバージョンと互換性を集中管理する機能です。プロデューサー/コンシューマーが想定外の構造のデータを流し込むことを防ぐのが役割です。
そのため「型は string だが ISO 8601 形式になっていない」「機器ID の値が欠損している」といったレコードの中身の妥当性は判定できません。構造は正しいまま品質だけが悪いデータは素通りしてしまいます。
B. AWS Glue Crawler を定期実行してテーブル定義を再クロールし、スキーマの差分を検知する
AWS Glue クローラーは S3 などのデータストアをスキャンしてData Catalog のテーブル定義(スキーマ・パーティション)を自動生成・更新するコンポーネントです。検知できるのはスキーマの追加・変更といった構造レベルの差分にとどまります。
また、クローラーはデータを S3 に格納した後で走らせるものなので、「格納前に検証して違反レコードを検知したい」という本問のタイミング要件を満たしません。定期実行のジョブを別に組む点でも「追加のジョブを構築しない」という条件に反します。
C. AWS Glue Data Quality を使用し、DQDL ルールセットで欠損値やフォーマット逸脱を自動的に検証する
AWS Glue Data Quality は、DQDL(Data Quality Definition Language) でルールセットを記述し、Glue ETL ジョブ内の「Evaluate Data Quality」変換として品質チェックを実行できる組み込み機能です。Data Catalog のテーブルに対しても、ジョブ内のデータに対しても評価できます。
DQDL には IsComplete(欠損値がないこと)、ColumnValues、ColumnDataType、ColumnLength といったルールタイプが用意されており、「機器ID に欠損がないこと」「タイムスタンプが所定のフォーマットであること」をそのまま宣言的に表現できます。
評価結果(合格/不合格)に応じてジョブを失敗させる、あるいは違反レコードだけを別の出力先に振り分けるといった動作も設定でき、外部ツールや検証専用ジョブを追加せずに ETL ジョブの中で検証を完結できます。
D. AWS Glue Job Bookmarks を有効化し、前回処理済みのレコードのみを次回実行時にスキップする
Glue ジョブブックマークは、ジョブが前回どこまで処理したかを記録し、次回実行時に未処理データだけを対象にするための状態管理機能です。増分処理と重複処理の防止が目的です。
データの中身が正しいかどうかはまったく評価しないため、欠損値やフォーマット逸脱の検知には使えません。選択肢の記述にある「処理済みのレコードをスキップする」という動作自体は正しいものの、要件そのものが違います。
「欠損値・フォーマット違反の検知」= Glue Data Quality(DQDL)。Schema Registry は「型・構造」、Data Quality は「中身」。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| 格納前にレコード単位のルール(欠損値なし・ISO 8601 形式)を検証したい | 値の中身を宣言的なルールで評価できるのは AWS Glue Data Quality の DQDL(IsComplete、ColumnValues 等) →選択肢(C)が正解 |
| 検証対象は「型・構造」ではなく「値の妥当性」 | Schema Registry が守るのはスキーマの互換性。構造が正しいまま値が不正なデータは検知できない →選択肢(A)を消す |
| 追加のジョブや外部ツールを構築しない | クローラーの定期実行は別スケジュールのジョブを増やすうえ、検知できるのはスキーマ差分だけ →選択肢(B)を消す |
| 「違反したレコードを検知する」という目的 | ジョブブックマークは増分処理のための状態管理であり、品質評価の機能を一切持たない →選択肢(D)を消す |
| Glue ETL ジョブの中に組み込みで実現する | Data Quality は Glue Studio の Evaluate Data Quality 変換としてジョブのフローに直接差し込める →選択肢(C)が正解 |
ひっかけポイント
- 「Schema Registry でスキーマを固定すれば不正データを弾ける」と読めてしまうのが最大の罠。弾けるのはスキーマ互換性に反するレコードだけで、「機器ID が空文字/NULL」「タイムスタンプが独自形式」のように型は合っているが品質が悪いデータは通過する
- クローラーは格納済みデータを読んでカタログを更新する後追いの仕組み。「格納前に検証したい」という時系列の要件と噛み合わない
- ジョブブックマークの説明文自体は正しいため見逃しやすいが、正しい説明=要件に合う、ではない。設問が問うているのは品質検証であって増分処理ではない
- 「追加のジョブや外部ツールを構築せず」という条件が、Lambda での自作チェックや Deequ の自前実装といった手作り案を排除している。組み込み機能を探せという誘導と読む
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「変換前のデータを対話的にプロファイリングし、GUI でクレンジングのルールを作りたい」 | AWS Glue DataBrew が正解軸に(ノーコードのデータ準備・プロファイル)。 |
| 「Kinesis / MSK のストリームで、プロデューサーが想定外のスキーマを送るのを防ぎたい」 | AWS Glue Schema Registry が正解に。スキーマ互換性の管理が主題になる。 |
| 「品質チェックに不合格だったレコードだけを別の S3 プレフィックスに退避したい」 | Glue Data Quality の行レベル評価結果(新しい列)で分岐させる構成が問われる。 |
| 「S3 に格納済みのテーブルの品質を定期的に評価し、スコアを CloudWatch で監視したい」 | Data Catalog のテーブルに対する Data Quality ルールセットのスケジュール実行+メトリクス監視が正解軸に。 |
| 「新しいファイルだけを毎回処理し、同じデータの二重処理を避けたい」 | ジョブブックマークが正解に変わる(本問の選択肢 D が答えになる問題文)。 |
追加のジョブや外部ツールを構築せず、Glue ETL ジョブの中でこの検証を組み込みで実現するにはどうすればよいですか。
- AWS Glue Schema Registry でスキーマバージョンを固定し、互換性のないレコードを拒否する
- AWS Glue Crawler を定期実行してテーブル定義を再クロールし、スキーマの差分を検知する
- AWS Glue Data Quality を使用し、DQDL ルールセットで欠損値やフォーマット逸脱を自動的に検証する
- AWS Glue Job Bookmarks を有効化し、前回処理済みのレコードのみを次回実行時にスキップする
次の問題前の問題
会員機能
お役立ち情報
- プレミアム会員のご紹介
- 「徹底解説」のご紹介
- 「模擬試験」のご紹介
- 収録問題と試験ガイドの対応
- 会員機能のご紹介
- おすすめの勉強方法
- AWSサービスの解説
- AWS認定資格の種類・対象者・受験料・合格ライン
- スマホのホーム画面に登録する方法
姉妹サイト
- CLF:AWS 認定クラウドプラクティショナー
- SAA:AWS 認定ソリューションアーキテクト-アソシエイト
- AIF:AWS 認定AIプラクティショナー
- SOA:AWS 認定CloudOpsエンジニア-アソシエイト
- DVA:AWS 認定デベロッパー-アソシエイト
- DEA:AWS 認定データエンジニア-アソシエイト
- MLA:AWS 認定機械学習エンジニア-アソシエイト
- SAP:AWS 認定ソリューションアーキテクト-プロフェッショナル
- DOP:AWS 認定DevOpsエンジニア-プロフェッショナル
- AIP:AWS 認定生成AIデベロッパー-プロフェッショナル
- SCS:AWS 認定セキュリティ-専門知識
- AZ-900:Microsoft Azure Fundamentals
- AI-900:Microsoft Azure AI Fundamentals