無限ノック › DEA 練習問題一覧 › 問題
DEAデータストアの管理

あるデータエンジニアリングチームが Amazon S3 上のログを Athena で分析しています。データは s3://logs/dt=YYYY-MM-DD/hour=HH/ 形式で日時パーティションされ、1日あたり数千の新規パーティションが追加されます。Glue クローラーを1時間ごとに実行していますが、パーティション数が膨大でクローラーの実行時間とコストが増大し、最新データがクエリ可能になるまで遅延しています。運用負荷とコストを最小化しつつ即時にパーティションを認識させる方法はどれですか。

A
Glue クローラーの実行頻度を5分間隔に上げ、増分クロール(Crawl new folders only)を有効化する
頻度を上げるほどクロール実行回数とコストが増え、膨大なパーティションのスキャン時間も短縮されないため、コスト最小化と即時認識の両立という要件に反し不適切です。
B
Athena でパーティション射影(Partition Projection)を有効にし、パーティション値を定義から動的に算出する
✓ 正解
テーブル定義からパーティション値をクエリ時に動的算出するため、クローラーもADD PARTITIONも不要で、数千の新規パーティションを即時クエリ可能にしつつ運用負荷とコストを最小化でき要件に最適なため正解です。
C
パーティション追加のたびに Lambda から ALTER TABLE ADD PARTITION を実行する Glue Workflow を組む
ADD PARTITIONの自動化は可能ですが、Lambdaトリガーとワークフローの構築・保守が必要で運用負荷が残り、射影に比べてメタデータ操作のオーバーヘッドも生じるため最適ではありません。
D
Glue Data Catalog のパーティションインデックスを作成し、クローラーを日次バッチに変更する
パーティションインデックスはカタログ検索を高速化しますが、日次バッチでは1時間ごとに増える最新データを即時に認識できず、即時クエリ可能という要件を満たせないため不適切です。

解説

パーティション射影(Partition Projection)はテーブルプロパティに日付や数値の範囲・フォーマットを定義し、Athena がクエリ時にパーティション値をカタログ参照なしで動的に算出する機能です。クローラーやADD PARTITIONが不要になり、数千の新規パーティションでも即時にクエリ可能で、メタデータ管理の運用負荷とコストを最小化できます。 選択肢Aの Glue クローラー高頻度実行は、頻度を上げるほどクロール回数とコストが増え、根本的なパーティション認識遅延の解消になりません。 選択肢Cの Lambda + ALTER TABLE ADD PARTITION はカタログ操作の自動化はできますが、Lambda・Workflow の構築運用が必要で運用負荷が残ります。 選択肢Dのパーティションインデックスはカタログ参照の高速化には有効ですが、日次バッチ化すると最新データの即時認識という要件を満たせません。

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

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

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