A manufacturing facility has IoT sensors monitoring machine vibrations. Every seconds, each sensor generates a JSON payload containing health telemetry. A solutions architect needs to design a high-performing ingestion pipeline that buffers this data, converts the JSON format to Apache Parquet, and writes the transformed data to Amazon S3. The solution must handle spikes up to three times the average ingestion rate and minimize operational overhead. Which solution meets these requirements with the lowest operational overhead?
- AConfigure Amazon Kinesis Data Streams in Provisioned mode with 10 shards to ingest the sensor data. Configure Amazon Data Firehose to consume data from the stream, convert the format to Apache Parquet, and write it to the Amazon S3 bucket.
- BSend the telemetry data to an Amazon SQS standard queue. Configure an AWS Lambda function to poll the queue, convert the JSON payloads to Apache Parquet, and write the output files to Amazon S3.
- Configure Amazon Data Firehose to receive the telemetry data directly, configure it to convert the format to Apache Parquet using an AWS Glue schema table, and specify an Amazon S3 bucket as the destination.Answer
- DWrite the JSON telemetry files directly to an Amazon S3 bucket. Configure an AWS Lambda function triggered by S3 ObjectCreated events to read each file, transform the JSON format to Apache Parquet, and write the Parquet file to a destination S3 bucket.
Answer
Configure Amazon Data Firehose to receive the telemetry data directly, configure it to convert the format to Apache Parquet using an AWS Glue schema table, and specify an Amazon S3 bucket as the destination.
The correct solution uses Amazon Data Firehose to directly ingest the data and convert the JSON payloads to Apache Parquet format using an AWS Glue schema table. Amazon Data Firehose is a fully managed, serverless stream delivery service that automatically scales to handle high-throughput workloads and spikes (up to in this scenario) without manual shard management. Its built-in format conversion capability eliminates the need to develop, scale, and maintain custom transformation code in AWS Lambda or Amazon ECS.
Step-by-Step Solution
Key Concept
Serverless high-throughput data ingestion, buffering, and format transformation using Amazon Data Firehose and AWS Glue.