Q74 — AWS SAA-C03 Ch.17
Question 74 of 89 | ← Chapter 17
Q1374. A company operates a data lake in Amazon S3 that stores large datasets in multiple formats. The company has an application that retrieves and processes subsets of data from multiple objects in the data lake based on filtering criteria. For each data query, the application currently downloads the entire S3 object and performs transformations. The current process requires a large amount of transformation time.The company wants a solution that will give the application the ability to query and filter directly on S3 objects without downloading the objects.Which solution will meet these requirements?
- A. Use Amazon Athena to query and filter the objects in Amazon S3. ✓
- B. Use Amazon EMR to process and filter the objects.
- C. Use Amazon API Gateway to create an API to retrieve filtered results from Amazon S3.
- D. Use Amazon ElastiCache(Valkey) to cache the objects.
Correct Answer: A. Use Amazon Athena to query and filter the objects in Amazon S3.
Explanation
Let's analyze each option to determine which one meets the requirement of enabling the application to query and filter directly on S3 objects without downloading them:Option A: Use Amazon Athena to query and filter the objects in Amazon S3 Amazon Athena is an interactive query service that allows you to analyze data directly in Amazon S3 using standard SQL. It can query data in various formats such as CSV, JSON, Parquet, and ORC without the need to load the data into a separate database. With Athena, the application can submit SQL queries with filtering criteria, and Athena will process the data in S3 and return only the relevant results. This eliminates the need to download the entire S3 object and perform transformations locally, thus significantly reducing the transformation time. So, this option is correct.Option B: Use Amazon EMR to process and filter the objects Amazon EMR (Elastic MapReduce) is a cloud - based big data processing service that uses popular open - source frameworks such as Apache Hadoop, Spark, and Hive. While EMR can process and filter data stored in S3, it typically involves setting up and managing a cluster of EC2 instances. The data still needs to be read from S3 into the EMR cluster for processing, and then the results may need to be written back to S3 or another storage location. This approach is more complex and resource - intensive compared to using Athena, and it does not directly address the requirement of querying and filtering without downloading the entire object in the same straightforward way as Athena. So, this option is incorrect.Option C: Use Amazon API Gateway to create an API to retrieve filtered results from Amazon S3 Amazon API Gateway is a fully managed service that makes it easy to create, publish, maintain, monitor, and secure APIs at any scale. However, API Gateway itself does not have the capability to query and filter data stored in S3. It can be used to expose an interface for accessing data, but the actual querying and filtering logic would need to be implemented elsewhere, such as in a Lambda function. This would still likely involve downloading the data from S3 and performing the filtering in the Lambda function, which does not meet the requirement of querying and filtering directly on S3 objects. So, this option is incorrect.Option D: Use Amazon ElastiCache (Valkey) to cache the objects Amazon ElastiCache is a fully managed in - memory caching service that supports Redis and Memcached. It is mainly used to improve the performance of applications by caching frequently accessed data in memory to reduce the load on databases or other storage systems. ElastiCache is not designed to query and filter data stored in S3. It can only store and retrieve data based on predefined keys, and it does not have the ability to perform complex queries or filtering on the data. So, this option is incorrect.Therefore, the solution that will meet the requirements is to use Amazon Athena to query and filter the objects in Amazon S3, and the answer is A.