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

あるデータエンジニアリングチームが、Amazon S3 にイベントログを日付別パーティション(s3://bucket/year=.../month=.../day=...)で保存し、Athena でクエリしています。新しいパーティションが毎日大量に追加され、Glue クローラーの実行コストと新パーティション検出の遅延が問題になっています。パーティション構造は規則的で予測可能です。最小の運用負荷とコストでパーティションを管理する方法はどれですか。

A
Athena のパーティション射影(Partition Projection)を有効にし、テーブルプロパティでパーティションキーの型と範囲を定義する
✓ 正解
パーティション射影はカタログにパーティションを保存せず、規則的なパターンをテーブルプロパティで定義してクエリ時に算出するため、クローラー実行・パーティション追加処理が不要となり遅延もコストもゼロに近づき要件に最適です。
B
Glue クローラーの実行頻度を5分ごとに増やし、新しいパーティションを継続的に検出してカタログに登録する
Glue クローラーは実行のたびに DPU 時間で課金され、頻度を上げてもコストが増えるだけで検出遅延も完全には解消しません。予測可能なパーティション構造には過剰な手段で運用負荷が下がりません。
C
新しいパーティションが追加されるたびに ALTER TABLE ADD PARTITION を Lambda で個別に実行する
ALTER TABLE ADD PARTITION はパーティション1つずつに API 呼び出しと Lambda 実行が必要で、毎日大量に追加される環境では実行管理とエラー処理が煩雑になり運用負荷が高まります。
D
MSCK REPAIR TABLE を EventBridge スケジュールで1時間ごとに実行しパーティションを再構築する
MSCK REPAIR TABLE は対象パス全体をスキャンしてパーティションを再構築するため、パーティション数が多いほど実行時間とコストが増大し、1時間ごとの実行では検出遅延も残ります。

解説

パーティション構造が規則的(日付などの予測可能なパターン)の場合、Athena のパーティション射影が最適です。 パーティション射影では、Glue Data Catalog にパーティションメタデータを物理的に保存せず、テーブルプロパティで定義した範囲・型からクエリ時に動的にパーティション位置を計算します。 これによりクローラー実行やパーティション追加処理が不要になり、新パーティションの検出遅延もなくなります。大量のパーティションを持つテーブルでクエリプランニングも高速化します。 選択肢Bの Glue クローラーは、実行頻度を上げるほど課金(DPU時間)が増え、検出遅延も残るため運用負荷・コストの両面で劣る。 選択肢Cの ALTER TABLE ADD PARTITION は、パーティションごとに API 呼び出しと Lambda 実行が必要で、大量追加時の管理が煩雑になる。 選択肢Dの MSCK REPAIR TABLE は、全パーティションをスキャンして再構築するため大規模テーブルでは時間とコストがかかり、1時間の遅延も残る。

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

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

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