A fintech company is designing a high-performing data ingestion and transformation pipeline for a mobile payment application to process real-time transaction logs. The pipeline must ingest a steady volume of of JSON data, which can spike up to during promotional events. The logs must be converted into Apache Parquet format and stored in Amazon S3 for near-real-time business intelligence queries. The architecture must minimize operational management and scale automatically to handle traffic spikes. Which ingestion and transformation solution should the company implement?
- ASend the transaction logs to an Amazon SQS Standard queue, configure an AWS Lambda function to poll the queue, perform the Parquet conversion, and write the files to Amazon S3.
- BIngest the logs using Amazon Kinesis Data Streams with a provisioned capacity of shards, trigger an AWS Lambda function to convert the records to Parquet, and write the results to Amazon S3.
- Use Amazon Data Firehose to receive the transaction logs, configure native data format conversion using an AWS Glue schema to output Apache Parquet, and deliver the transformed logs directly to Amazon S3.Answer
- DIngest the logs into Amazon Kinesis Data Streams, and configure an AWS Lambda function to continuously poll the stream, convert the payloads to Parquet, and write to Amazon S3.
Answer
Use Amazon Data Firehose to receive the transaction logs, configure native data format conversion using an AWS Glue schema to output Apache Parquet, and deliver the transformed logs directly to Amazon S3.
The correct solution uses Amazon Data Firehose to automatically scale up to to handle promotional traffic spikes. It leverages Firehose's native integration with AWS Glue to convert JSON records into Apache Parquet format directly before writing them to Amazon S3. This eliminates the operational complexity of managing shards or writing custom ETL code in AWS Lambda.
Step-by-Step Solution
Key Concept
Serverless real-time data ingestion and native schema-based format transformation using Amazon Data Firehose and AWS Glue.
Estimated Time:1m 30s