Courseiva
Data EngineeringmediumMultiple ChoiceObjective-mapped

MLS-C01 Data Engineering Practice Question

A company is streaming e-commerce events to Amazon Kinesis Data Streams. The data science team needs to join events from multiple shards in near real-time and then store the joined results in Amazon S3. Which solution would meet these requirements with the LEAST operational overhead?

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

Use Amazon Kinesis Data Analytics for Apache Flink to read from the Kinesis stream, perform a join operation using Flink SQL, and write the results to S3 using a sink connector.

Amazon Kinesis Data Analytics for Apache Flink can read from a Kinesis stream, perform stateful joins across shards using Flink SQL or the DataStream API, and write the results to Amazon S3 via a sink connector, all with minimal operational overhead. Option A is wrong because AWS Lambda functions process each shard independently; joining across shards would require managing external state (e.g., DynamoDB), increasing complexity and latency. Option B is wrong because Amazon Kinesis Data Firehose buffers data and writes to S3, but it cannot perform joins; using Athena to join after storage introduces batch-like delays. Option C is wrong because AWS Glue ETL jobs are batch-oriented and not designed for near real-time streaming; Glue Streaming ETL would still require significant configuration and is less optimized for stateful joins across shards.

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 AWS Lambda functions with Kinesis triggers to process each record, join across shards using a DynamoDB table for state, and write to S3.

    Why it's wrong here

    Lambda processes each shard independently; cross-shard joining would require complex state management and is inefficient.

  • Use Amazon Kinesis Data Firehose to buffer the data and write to S3, then use Amazon Athena to join the data after it is stored.

    Why it's wrong here

    Kinesis Data Firehose cannot perform joins; Athena is batch and would not provide near real-time results.

  • Use AWS Glue ETL jobs that read from the Kinesis stream via the Kinesis connector and write the joined results to S3.

    Why it's wrong here

    AWS Glue ETL is batch-oriented and not ideal for near real-time streaming joins.

  • Use Amazon Kinesis Data Analytics for Apache Flink to read from the Kinesis stream, perform a join operation using Flink SQL, and write the results to S3 using a sink connector.

    Why this is correct

    Kinesis Data Analytics for Apache Flink supports stateful stream processing and can join across shards natively.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

One of 1,672 original MLS-C01 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This MLS-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 MLS-C01 exam.