DEA-C01 practice question: Streaming ingestion with Kinesis and MSK (3 of 3)
Data Ingestion and Transformation A free question from our original DEA-C01 practice exam. Try it, then open the answer to see why each option is right or wrong.
A logistics broker receives GPS pings from about 6,000 trucks and must land them in an Amazon S3 data lake within about one minute. Analysts query the data by region and by day, and they need Parquet files rather than JSON.
Operations also needs the raw pings kept in a stream for seven days, so that a second consumer can replay them after a bug fix. The team wants no custom consumer code that writes one object per record.
Which TWO options meet these requirements? (Choose two.)
Choose two answers.
AA. Create a Kinesis Data Streams stream with seven-day extended retention, and add a Firehose delivery stream that reads from it into S3.
BB. Write each ping directly to a Firehose delivery stream, and rely on Firehose to keep the pings for seven days so they can be replayed.
CC. Configure a Firehose delivery stream with dynamic partitioning on region and day, and a Glue table schema for Parquet conversion.
DD. Configure a Lambda function that writes one S3 object per ping, keyed by region and date, and expire the objects after one day.
EE. Replace the truck pings with a nightly AWS DMS change data capture task that reads each truck's onboard database and writes Parquet files to S3.
B. Wrong: Firehose delivers records to a destination and does not keep a replayable history, so the seven-day replay requirement is not met. The option works for delivery alone but fails on replay.
C. Right: Correct. Dynamic partitioning writes objects into region and day prefixes, which analysts can filter on. Record format conversion needs a Glue Data Catalog table that describes the schema, and Firehose applies it before writing to S3. Learn more: Enable record format conversion (opens in a new tab)
D. Wrong: One object per ping creates a very large number of small files, which slows analysis and raises request costs. The option also expires the data too soon and does not convert it to Parquet.
E. Wrong: AWS DMS reads from database engines, and trucks do not expose a database to it. A nightly job also misses the one-minute freshness requirement.
Explanation
The seven-day replay and the one-minute delivery need two services working together. A Kinesis stream with extended retention holds the raw pings for replay, and Firehose reads from it to deliver to S3. Dynamic partitioning and a Glue table schema give analysts region and day prefixes in Parquet, without custom code that writes one object per record.
The stream keeps seven days for replay, and Firehose partitions the GPS records by region and day as it lands them in S3.
Want more on Streaming ingestion with Kinesis and MSK? The 5 full-length practice sets have 13 more Streaming ingestion with Kinesis and MSK questions, 325 in all, none of them in the free exam. One payment of $14.99, no subscription. See the practice sets →