DEA-C01 Data Ingestion and Transformation Practice Question
A data pipeline ingests streaming data from Kinesis Data Streams into S3 via Kinesis Data Firehose. Occasionally, small files are written to S3, increasing downstream processing costs. What is the most efficient way to reduce the number of small files?
⚠ Common exam trap
It's easy for candidates to think a Lambda pre-aggregation (Option A) or a Glue job (Option C) is necessary, when in fact Firehose's built-in buffering configuration is the simplest and most cost-effective solution to control file sizes.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Increase the Firehose buffering interval to 300 seconds and buffering size to 64 MB.
Kinesis Data Firehose allows you to configure buffering hints (size and interval) to control when data is delivered to S3. By increasing the buffering interval to 300 seconds and the buffering size to 64 MB, Firehose accumulates more records before writing, which reduces the number of small files. This is the most efficient approach as it requires no additional infrastructure or post-processing.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use a Lambda function to aggregate records before sending to Firehose.
Why it's wrong here
Using a Lambda function before Firehose would introduce an unnecessary processing layer, as Kinesis Data Firehose natively provides buffering configurations (buffer size and buffer interval) to control the size of files written to S3. Lambda does not directly influence Firehose's S3 delivery buffering mechanism. This option is tempting because Lambda is a powerful tool for custom data transformation, filtering, or enrichment of individual records *before* they are sent to Firehose, which is a valid use case when such pre-processing logic is required.
- ✗
Use the Kinesis Client Library (KCL) to write larger batches to S3 directly.
Why it's wrong here
Requires managing EC2 instances.
- ✗
Run a daily AWS Glue job to concatenate small files.
Why it's wrong here
Does not prevent small files; adds extra compute.
- ✓
Increase the Firehose buffering interval to 300 seconds and buffering size to 64 MB.
Why this is correct
Firehose will buffer more data per file.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This DEA-C01 question is part of Courseiva's 1,711-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on DEA-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A data pipeline uses Kinesis Data Firehose to deliver streaming data to an S3 bucket. The data volume spikes occasionally, causing the Firehose buffer to fill up and leading to increased delivery latency. The latency must remain under 60 seconds. What should be done to minimize latency?
medium- A.Enable GZIP compression on the Firehose delivery stream.
- B.Increase the buffer size to 128 MB to accommodate larger batches.
- C.Switch to Kinesis Data Streams with a Lambda consumer.
- ✓ D.Reduce the buffer interval to 60 seconds.
Why D: Reducing the buffer interval to 60 seconds ensures that Firehose delivers data to S3 at most every 60 seconds, directly capping latency even if the buffer size is not full. This aligns with the requirement to keep latency under 60 seconds, as Firehose delivers data when either the buffer interval or buffer size threshold is met first.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DEA-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C01 exam.