AWSData Preparation for Machine Learning

Kinesis & Streaming Ingestion — MLA-C01 Practice Question

A representative AWS Machine Learning Engineer Associate (MLA-C01) exam question on Kinesis & Streaming Ingestion. Work through it below, then read why each option is right or wrong.

Short answer

The correct answer is B. Amazon Kinesis Data Firehose delivering directly to an S3 bucket with a buffering hint.

Kinesis Data Firehose is a fully managed delivery service purpose-built to buffer and load streaming data into S3 with no consumer code, custom infrastructure, or scaling to manage — exactly matching "no custom logic, minimize ops."

The Question

A logistics company ingests GPS pings from 50,000 delivery trucks. They need the raw pings durably stored in S3 within a few minutes for later batch feature engineering, but they do not need to run any custom per-record processing logic and want to minimize the operations they manage. Which ingestion approach meets these requirements with the LEAST operational overhead?

AAmazon Kinesis Data Streams with a custom Lambda consumer that batches records and calls PutObject
BAmazon Kinesis Data Firehose delivering directly to an S3 bucket with a buffering hintCorrect
CSelf-managed Apache Kafka cluster on EC2 with a Kafka Connect S3 sink
DAmazon MSK with a custom consumer application deployed on ECS

Why B is correct

Kinesis Data Firehose is a fully managed delivery service purpose-built to buffer and load streaming data into S3 with no consumer code, custom infrastructure, or scaling to manage — exactly matching "no custom logic, minimize ops."

Why the other options are wrong

Option A: Amazon Kinesis Data Streams with a custom Lambda consumer that batches records and calls PutObject

Using Kinesis Data Streams plus a custom Lambda consumer requires the team to write and maintain buffering/retry logic that Firehose already provides out of the box, adding unnecessary operational burden.

Option C: Self-managed Apache Kafka cluster on EC2 with a Kafka Connect S3 sink

A self-managed Kafka cluster on EC2 requires patching, scaling, and monitoring the brokers — the highest operational overhead of the options.

Option D: Amazon MSK with a custom consumer application deployed on ECS

MSK removes broker management but still requires building and operating a custom consumer application, which is more overhead than a no-code Firehose delivery stream.

Key idea: Kinesis & Streaming Ingestion

Why B is correct: Kinesis Data Firehose is a fully managed delivery service purpose-built to buffer and load streaming data into S3 with no consumer code, custom infrastructure, or scaling to manage — exactly matching "no custom logic, minimize ops." Why A is wrong: Using Kinesis Data Streams plus a custom Lambda consumer requires the team to write and maintain buffering/retry logic that Firehose already provides out of the box, adding unnecessary operational burden. Why C is wrong: A self-managed Kafka cluster on EC2 requires patching, scaling, and monitoring the brokers — the highest operational overhead of the options. Why D is wrong: MSK removes broker management but still requires building and operating a custom consumer application, which is more overhead than a no-code Firehose delivery stream. On the MLA-C01 exam, questions in the "Data Preparation for Machine Learning" domain test whether you can map a scenario's constraints to the right choice. Read the requirement carefully, eliminate options that violate any single constraint, and pick the one that satisfies all of them with the least operational overhead.

Ready to see how you'd score?

Take the free practice quiz and find out which AWS Certified Machine Learning Engineer - Associate domains you need to focus on. No signup required.

Practice 5 similar questions

Same cert, same or adjacent domain. Use these after reviewing the explanation.

Related AWS Certified Machine Learning Engineer - Associate Practice Questions