A logistics company is designing an ingestion pipeline to track high-frequency GPS telemetry from a fleet of delivery vehicles. Each vehicle transmits a JSON payload every containing status updates that must be processed in strict chronological order per vehicle to calculate accurate transit times. The data must be converted to Apache Parquet format and stored in Amazon S3 within of generation. During peak morning hours, a grid-lock event can cause all vehicles to transmit data within a window, resulting in transient spikes of up to requests per second. Which architecture meets these requirements most performantly and reliably?
- Configure an Amazon Kinesis Data Stream in On-Demand mode, using the vehicle ID as the partition key. Configure an Amazon Data Firehose delivery stream to consume from the Kinesis stream, transform the JSON payloads to Apache Parquet format using an AWS Glue table, and deliver the data to Amazon S3 with a buffer interval of .Cevap
- BConfigure an Amazon Kinesis Data Stream in Provisioned mode with shards, using the vehicle ID as the partition key. Configure an Amazon Data Firehose delivery stream to consume from the Kinesis stream, convert the format to Apache Parquet using AWS Glue, and deliver the data to Amazon S3.
- CConfigure an Amazon SQS standard queue to receive the telemetry data. Use an AWS Lambda function to poll the SQS queue, batch the records, convert them to Apache Parquet format, and write them to Amazon S3.
- DConfigure an Amazon SQS FIFO queue to ingest the telemetry data using the vehicle ID as the MessageGroupID. Configure an AWS Lambda function to retrieve messages from the queue, transform them to Apache Parquet format, and upload the files to Amazon S3.
Cevap
Configure an Amazon Kinesis Data Stream in On-Demand mode with the vehicle ID as the partition key, and use Amazon Data Firehose to transform the data to Parquet via AWS Glue and deliver it to Amazon S3 with a 5-minute buffer interval.
The correct architecture uses Amazon Kinesis Data Streams in On-Demand mode, which scales dynamically to support up to of write throughput, easily absorbing the peak spike. Partitioning by the vehicle ID ensures that all status updates for a single vehicle are directed to the same shard, preserving their chronological sequence. Amazon Data Firehose then consumes from the stream, transforms the JSON payload to Parquet format using metadata defined in AWS Glue, and writes the output files to Amazon S3 within the required 5-minute buffering window (). This provides a highly performant, fully managed, and cost-effective ingestion pipeline.
Adım Adım Çözüm
Anahtar Kavram
High-throughput real-time data ingestion with ordering guarantees and serverless format transformation.
Tahmini Süre:2m 30s