DEA-C01 Practice Question 71: Firehose Dynamic Partitioning Customer
AWS Certified Data Engineer – Associate (DEA-C01) · Test 8 · question 1 of 10
An Amazon Data Firehose stream delivers JSON events that contain a customer_id field to Amazon S3. The company has about 300 customers. Analysts query the data with Amazon Athena and almost always filter on a single customer, but every query scans the whole dataset because all objects land under one prefix. The team wants the data grouped into per-customer prefixes as it arrives, without operating a separate repartitioning job. What should they do?
Show answer and explanation
Answer:
Dynamic partitioning *"enables you to continuously partition streaming data in Firehose by using keys within data (for example, customer_id or transaction_id) and then deliver the data grouped by these keys into corresponding Amazon S3 prefixes."* Partitioning *"minimizes the amount of data scanned, optimizes performance, and reduces costs"* of Athena queries, and it removes the need to run partitioning applications between S3 buckets (option C).
- A is wrong because a larger buffer changes how often and how large the delivered objects are. It does not group records by any field. - B is wrong because Parquet conversion changes the file format, which can reduce scanned bytes, but all customers still share one prefix, so a per-customer filter still reads every object. - D is wrong because it works only by adding a second job to build and operate, which the team wants to avoid, and the data stays unpartitioned until the job has run.