Optimize Athena Query Performance on ALB Logs

Answer Correct answer: B — Create an AWS Glue crawler that includes a classifier that determines the schema of all ALB access logs and writes the partition metadata to AWS Glue Data Catalog.

An online retail company stores Application Load Balancer (ALB) access logs in an Amazon S3 bucket. The company wants to use Amazon Athena to query the logs to analyze traffic patterns. A data engineer creates an unpartitioned table in Athena. As the amount of the data gradually increases, the response time for queries also increases. The data engineer wants to improve the query performance in Athena. Which solution will meet these requirements with the LEAST operational effort?

  1. Create an AWS Glue job that determines the schema of all ALB access logs and writes the partition metadata to AWS Glue Data Catalog.
  2. Create an AWS Glue crawler that includes a classifier that determines the schema of all ALB access logs and writes the partition metadata to AWS Glue Data Catalog. Correct Answer
  3. Create an AWS Lambda function to transform all ALB access logs. Save the results to Amazon S3 in Apache Parquet format. Partition the metadata. Use Athena to query the transformed data.
  4. Use Apache Hive to create bucketed tables. Use an AWS Lambda function to transform all ALB access logs.

Community Votes

B
100%

100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

The core concept is using automated cataloging tools like AWS Glue Crawler to handle schema inference and partition updates, avoiding the high overhead of manual transformation or complex orchestration jobs.

This question addresses optimizing Amazon Athena queries for increasing data volumes by leveraging AWS Glue crawlers to automate schema detection and partition metadata management with minimal operational effort.

Candidates often choose option C (Lambda + Parquet) because they associate performance primarily with columnar formats, overlooking that the question specifically asks for the 'LEAST operational effort' and does not mention a need for format conversion.

Community Discussion (3 comments)

PGGuy 👍 5 Selected: B
Creating an AWS Glue crawler (Option B) is the most straightforward and least operationally intensive approach to automatically determine the schema, partition the data, and keep the AWS Glue Data Catalog updated. This ensures Athena queries are optimized without requiring extensive manual management or additional processing steps.
andrologin 👍 1 Selected: C
AWS Crawler with classifiers allow you to determine the schema pattern on files/data that can then be used to partition the data for Athena query optimization
tgv 👍 4 Selected: B
An AWS Glue crawler can automatically determine the schema of the logs, infer partitions, and update the Glue Data Catalog. Crawlers can be scheduled to run at intervals, minimizing manual intervention.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Option B is the correct choice because an AWS Glue Crawler can automatically discover the schema of new log files and update the AWS Glue Data Catalog. By scheduling the crawler, the system maintains up-to-date table metadata with minimal intervention. This automation directly addresses the performance issue caused by unpartitioned data by allowing Athena to leverage metadata optimizations without requiring manual engineering work.

Why the Other Options Are Wrong

Option A is incorrect because AWS Glue Jobs are for ETL processing, not for discovering schema and updating catalog metadata; crawlers are the specific service for this task. Option C involves significant operational effort: writing Lambda code, managing transformations, converting data to Parquet, and handling partitioning logic manually. Option D introduces Apache Hive bucketing, which is an older technique and requires custom transformation logic via Lambda, resulting in higher complexity and effort than using a Glue Crawler.

Community Comment Notes

The community overwhelmingly supports Option B. As PGGuy noted, the crawler approach is "the most straightforward and least operationally intensive." Another commenter, tgv, emphasized that crawlers minimize manual intervention by being schedulable. While andrologin mentioned classifiers, the key takeaway from all comments is the value of automation in maintaining catalog accuracy.

Exam Strategy

When asked for 'least operational effort,' prioritize managed services that automate discovery and maintenance (like Crawlers) over custom code or complex pipelines (like Glue Jobs or Lambda transforms). Always check if the question implies a need for data format change; if not, stick to metadata optimization first.

Frequently Asked Questions

Why not convert logs to Parquet with Lambda?

While Parquet improves speed, creating a Lambda function for transformation adds significant operational overhead. The question prioritizes 'least effort' over maximum potential performance gains.

Does a Glue Crawler partition data automatically?

A crawler updates the Data Catalog with metadata. To truly benefit from partition pruning, you should configure the crawler to infer partitions based on S3 path patterns or use partition projection features.

More DEA-C01 FAQ →

Related Analysis

Practice All DEA-C01 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DEA-C01 Practice Test →

← Back to DEA-C01 Study Guide