A media streaming platform needs to design a high-performing ingestion and transformation pipeline to process clickstream data generated by its web application. The platform receives user interaction events (play, pause, seek) at an average rate of , peaking at during major content releases.
The pipeline must satisfy two key requirements:
1. Deliver clickstream data with sub-second latency to a real-time personalization engine.
2. Store the clickstream data in Amazon S3 in Apache Parquet format, partitioned by date, with a maximum latency of 5 minutes for historical analytics.
Which combination of actions should a Solutions Architect recommend to build the most performant and scalable solution? (Select two.)
- Configure an Amazon Kinesis Data Stream in on-demand capacity mode to ingest the clickstream events, and configure the real-time personalization engine as a consumer of the stream.Cevap
- Configure an Amazon Kinesis Data Firehose delivery stream to read from the Kinesis Data Stream, buffer the incoming data for , use an AWS Glue schema to convert the JSON events to Apache Parquet, and write the files to Amazon S3.Cevap
- CIngest the clickstream events using an Amazon SQS standard queue, and configure both the personalization engine and Amazon Kinesis Data Firehose to pull messages simultaneously from the queue.
- DConfigure an Amazon Kinesis Data Stream in provisioned capacity mode with to ingest the clickstream events, and use an AWS Glue streaming ETL job to write data to both the personalization engine and Amazon S3.
- EConfigure an Amazon Kinesis Data Firehose delivery stream with a buffering interval of to ingest the clickstream, and write the data directly to both the personalization engine and Amazon S3.
Cevap
To build a performant and scalable solution, configure an Amazon Kinesis Data Stream in on-demand capacity mode to ingest the clickstream events and serve the personalization engine, and configure an Amazon Kinesis Data Firehose delivery stream to read from the stream, buffer the data for , convert it to Apache Parquet using AWS Glue, and deliver it to Amazon S3.
The correct solution involves ingesting the clickstream data into an Amazon Kinesis Data Stream in on-demand capacity mode and utilizing Amazon Kinesis Data Firehose to transform and load the data into Amazon S3. Kinesis Data Streams supports multiple consumers and provides sub-second latency for direct consumers like the personalization engine. Configuring Kinesis Data Streams in on-demand capacity mode allows it to scale automatically up to the peak write throughput of without manual provisioning. For downstream storage, Kinesis Data Firehose can consume from the same Kinesis Data Stream, buffer the records for to meet the latency requirement, convert the JSON payloads into Apache Parquet format using a schema from AWS Glue, and write the partitioned files to Amazon S3.
Adım Adım Çözüm
Anahtar Kavram
Leveraging Kinesis Data Streams for real-time, multi-consumer data ingestion alongside Kinesis Data Firehose for managed ETL and buffering into Amazon S3.