DEA-C01 Practice Question 11: Firehose Parquet Conversion
AWS Certified Data Engineer – Associate (DEA-C01) · Test 2 · question 1 of 10
An Amazon Data Firehose stream (named Amazon Kinesis Data Firehose in older material) receives JSON sensor readings and delivers them to Amazon S3, where analysts query them with Amazon Athena. Because the objects are stored as JSON, every Athena query reads every field of every record and the scan costs keep rising. The team wants the data to land in S3 as Apache Parquet instead, and it does not want to write or maintain any transformation code.
Which change meets these requirements?
Show answer and explanation
Answer:
Firehose has format conversion built in: it "can convert the format of your input data from JSON to Apache Parquet or Apache ORC before storing the data in Amazon S3". You configure three things: a JSON deserializer (OpenX or Hive JSON SerDe), a schema, which Firehose reads from a table in the AWS Glue Data Catalog, and a serializer (Parquet or ORC). There is no code to write. Parquet is columnar, so Athena reads only the columns a query references, and scan costs drop.
Option A would work, but it is exactly the custom code the team wants to avoid. Firehose's own docs use Lambda only to turn *non-JSON* input, such as CSV, into JSON before the built-in conversion runs. Here the input is already JSON, so no Lambda function is needed.
Option C makes the objects smaller but keeps them row-oriented JSON. Athena still has to decompress and parse every field of every record, so the query cannot skip columns the way it can with Parquet.
Option D organizes the data into prefixes, which helps Athena prune partitions when queries filter on those keys. It does not change the file format, and queries that don't filter on the partition keys still scan full JSON records.
Reference: Convert input data format in Amazon Data Firehose