Solving Athena Query Planning Bottlenecks with Partition Indexing and Projection
A data engineer runs Amazon Athena queries on data that is in an Amazon S3 bucket. The Athena queries use AWS Glue Data Catalog as a metadata table. The data engineer notices that the Athena query plans are experiencing a performance bottleneck. The data engineer determines that the cause of the performance bottleneck is the large number of partitions that are in the S3 bucket. The data engineer must resolve the performance bottleneck and reduce Athena query planning time. Which solutions will meet these requirements? (Choose two.)
Community Votes
100% of anonymous learners picked answer AC. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
The question tests the distinction between metadata management overhead (planning time) and data processing efficiency (execution time).
This guide explains how to resolve Amazon Athena query planning bottlenecks caused by a high volume of S3 partitions using Glue partition indexing and partition projection.
Many learners incorrectly choose D because they confuse reducing I/O during execution with reducing metadata scanning during planning.
Community Discussion (14 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Athena's query planner must scan the Hive metastore (Glue Data Catalog) to identify all partitions that match a query. When there are millions of partitions, this process becomes a bottleneck. Option A is correct because creating an AWS Glue partition index allows Athena to use a specialized index structure to quickly locate relevant partitions without scanning the entire catalog. Option C is correct because partition projection eliminates the need to query the external catalog entirely by calculating partition locations dynamically based on the S3 prefix pattern, which scales infinitely without performance degradation.Why the Other Options Are Wrong
Option B (Bucketing) is incorrect because bucketing optimizes for specific equality queries and data distribution, not for reducing the overhead of managing a large number of distinct partition keys in the metadata. Option D (Parquet format) is incorrect because while it improves query execution speed by reading fewer bytes, it does not reduce the planning time required to discover which files exist in the catalog. Option E (S3DistCP) addresses small file problems (too many objects), but the prompt specifically cites the 'large number of partitions' as the cause, making metadata optimization the direct solution.Community Comment Notes
Community consensus strongly supports AC, with several users noting that partition projection is the modern best practice for handling massive scale. As user rralucard_ noted, "Optimizing Partition Processing using partition projection... can be a bottleneck... when you have a very large number of partitions." User Mahidbdwh clarified that "Converting to a columnar format like Apache Parquet will not directly reduce the overhead associated with managing a large number of partitions," highlighting why D is a distractor.Official Reference
Exam Strategy
Always distinguish between 'query planning' (metadata lookup) and 'query execution' (data reading) in Athena questions. If the problem is 'planning time' or 'catalog size', look for Partition Index or Partition Projection.
Frequently Asked Questions
Why isn't converting to Parquet (D) the right answer?
Parquet reduces data scanned during execution, but does not reduce the time Athena spends scanning the Glue catalog to find those files.
When should I use Partition Projection vs Partition Index?
Use Partition Index for existing tables with manageable growth; use Partition Projection for new tables or massive datasets where catalog scaling is a concern.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →