Convert JSON to Parquet in Kinesis Firehose with AWS Glue Schema
A company is using Amazon Kinesis Data Firehose to deliver streaming data to an S3 bucket. The data is JSON and must be transformed into Parquet format before delivery. Which approach should the data engineer use?
Quick Answer
Kinesis Data Firehose has a built-in record format conversion feature that can transform incoming JSON records into Parquet as they're delivered, and it does this by referencing a schema definition stored in the AWS Glue Data Catalog, which tells Firehose how to interpret and structure the incoming JSON fields into the target columnar format. Because this conversion happens natively inside Firehose's delivery pipeline, no additional compute service needs to be introduced just to reformat the data, the same managed delivery stream that's already moving data from the source to S3 also performs the format conversion along the way. The distractors each reach for a service that's mismatched to this specific need: Kinesis Data Analytics is designed for running real-time analytical queries or computations over streaming data, not for reformatting records into a different file format; using Lambda to perform the conversion would work technically, but it adds processing latency and operational complexity that Firehose's native conversion capability avoids entirely; and an AWS Glue ETL job is designed for batch processing of data that's already at rest, which doesn't fit a requirement for real-time streaming delivery to S3. Recognizing when a requirement can be satisfied by a built-in feature of the service already in the pipeline, rather than bolting on an additional service, is often the deciding factor in these kinds of questions. Whenever a scenario needs streaming JSON data converted to Parquet on its way into S3, look first at Firehose's native format conversion feature, using a Glue Data Catalog schema, before reaching for a separate transformation service.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure Kinesis Data Firehose to convert the record format to Parquet using a schema from AWS Glue Data Catalog
Amazon Kinesis Data Firehose can directly convert incoming JSON records to Parquet format by referencing a schema stored in the AWS Glue Data Catalog. This is a built-in feature of Firehose that does not require additional services for the conversion. Option A is wrong because Kinesis Data Analytics is for real-time analytics, not format conversion. Option C is wrong because while Lambda can transform data, using it for Parquet conversion adds latency and complexity; Firehose's native conversion is simpler. Option D is wrong because an AWS Glue ETL job is for batch processing, not real-time streaming transformation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Send the data to Amazon Kinesis Data Analytics to convert to Parquet
Why it's wrong here
Kinesis Data Analytics is for analytics, not format conversion.
- ✓
Configure Kinesis Data Firehose to convert the record format to Parquet using a schema from AWS Glue Data Catalog
Why this is correct
Firehose can convert JSON to Parquet using a Glue Data Catalog schema.
- ✗
Use an AWS Lambda function to transform JSON to Parquet and write to S3
Why it's wrong here
Lambda can transform but would need to be triggered by Firehose, which is not native.
- ✗
Use an AWS Glue ETL job to read from Firehose and write Parquet to S3
Why it's wrong here
Glue is not a real-time streaming solution; Firehose handles streaming.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This MLS-C01 question is part of Courseiva's 1,672-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on MLS-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company uses Amazon Kinesis Data Firehose to deliver streaming data to Amazon S3. The data is in JSON format, and the company wants to convert it to Parquet for efficient querying. Which configuration should be used?
medium- ✓ A.Enable data transformation in Firehose using an AWS Lambda function to convert JSON to Parquet, and set the output format to Parquet.
- B.Use an AWS Glue job to convert the JSON files in S3 to Parquet after delivery.
- C.Use Amazon Kinesis Data Analytics to convert the stream to Parquet before sending to Firehose.
- D.Configure Firehose to deliver data directly to Amazon Redshift, which automatically converts to Parquet.
Why A: Amazon Kinesis Data Firehose supports data transformation via AWS Lambda, allowing you to convert incoming JSON records to Parquet format before delivery to S3. By enabling a Lambda function to perform the conversion and setting the output format to Parquet, Firehose handles the transformation in-stream, ensuring the data lands in S3 already in the optimized columnar format for efficient querying with services like Amazon Athena or Amazon Redshift Spectrum.
Variation 2. A company is using Amazon Kinesis Data Firehose to load streaming data into Amazon S3. The data is in JSON format, and they want to convert it to Parquet before storage. What should they configure?
easy- ✓ A.Enable data format conversion in Firehose and specify a Glue table
- B.Use an AWS Lambda function to transform the data
- C.Run an AWS Glue ETL job after data is in S3
- D.Use Kinesis Data Analytics for Apache Flink to convert the format
Why A: Amazon Kinesis Data Firehose supports built-in data format conversion from JSON to Parquet or ORC. By enabling this feature and specifying an AWS Glue table that defines the schema, Firehose automatically converts incoming JSON records to Parquet before delivering them to the S3 destination. This eliminates the need for additional compute resources or post-processing steps.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This MLS-C01 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the MLS-C01 exam.