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

あるデータエンジニアがAmazon Athenaを使用して、Amazon S3上の過去3年分の販売データ(CSV形式、合計5TB)に対してアドホック(即興)クエリを実行しています。データは日付ベースのフォルダ構造(s3://bucket/sales/year=2023/month=01/day=15/)で格納されており、クエリのたびに全5TBをスキャンしているためコストと実行時間が問題になっています。コストとクエリ性能を最も効果的に改善する対策を2つ選んでください。

A
データをApache ParquetなどのカラムナーフォーマットへAWS Glue ETLジョブで変換し、クエリが必要な列のみスキャンできるようにする
✓ 正解
選択肢:ParquetやORCなどのカラムナーフォーマットにより、必要な列のみを読み込む列プルーニングが機能し、スキャン量と実行時間を大幅に削減できます。さらに圧縮効率も高まります。
B
Amazon Redshift Spectrumに移行し、AthenaではなくRedshiftからS3データをクエリするアーキテクチャに変更する
Redshift Spectrumも有効ですが、アーキテクチャ移行が必要で複雑です。
C
AWS Glue Data Catalogでテーブルにパーティション(year/month/day)を定義し、クエリのWHERE句に日付フィルタを指定してパーティションプルーニングを活用する
✓ 正解
選択肢:Glue Data CatalogへのパーティションをYEAR/MONTH/DAYで定義し、WHERE句にフィルタを加えることでパーティションプルーニングが機能し、対象期間のデータのみをスキャンします。
D
Amazon ElastiCache for Redisにクエリ結果をキャッシュし、Athenaへの重複クエリを削減する
ElastiCacheはAthenaとのネイティブ統合がなく、クエリキャッシュとしては使用できません。
E
Athenaワークグループでスキャンバイト数の上限を設定し、上限超過クエリを自動キャンセルしてコストを抑制する
スキャン上限はコスト管理に有効ですが、スキャン量そのものを削減してパフォーマンスを改善するものではありません。

解説

Athenaのコストはスキャンしたデータ量(バイト)に基づくため、スキャン量を削減することが最も効果的な対策です。 選択肢Aの選択肢:ParquetやORCなどのカラムナーフォーマットにより、必要な列のみを読み込む列プルーニングが機能し、スキャン量と実行時間を大幅に削減できます。さらに圧縮効率も高まります。 選択肢Cの選択肢:Glue Data CatalogへのパーティションをYEAR/MONTH/DAYで定義し、WHERE句にフィルタを加えることでパーティションプルーニングが機能し、対象期間のデータのみをスキャンします。 選択肢B:Redshift Spectrumも有効ですが、アーキテクチャ移行が必要で複雑です。 選択肢D:ElastiCacheはAthenaとのネイティブ統合がなく、クエリキャッシュとしては使用できません。 選択肢E:スキャン上限はコスト管理に有効ですが、スキャン量そのものを削減してパフォーマンスを改善するものではありません。

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

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

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