nerdexam
Amazon

DAS-C01 · Question #164

A gaming company is collecting cllckstream data into multiple Amazon Kinesis data streams. The company uses Amazon Kinesis Data Firehose delivery streams to store the data in JSON format in Amazon…

The correct answer is D. Integrate an AWS Lambda function with Kinesis Data Firehose to convert source records to. To reduce Amazon Athena costs for querying clickstream data stored as JSON in Amazon S3, without recreating the data pipeline and with less management effort, converting data to Apache Parquet is essential. Integrating an AWS Lambda function with Kinesis Data Firehose allows…

Processing

Question

A gaming company is collecting cllckstream data into multiple Amazon Kinesis data streams. The company uses Amazon Kinesis Data Firehose delivery streams to store the data in JSON format in Amazon S3 Data scientists use Amazon Athena to query the most recent data and derive business insights. The company wants to reduce its Athena costs without having to recreate the data pipeline. The company prefers a solution that will require less management effort. Which set of actions can the data scientists take immediately to reduce costs?

Options

  • AChange the Kinesis Data Firehose output format to Apache Parquet
  • BCreate an Apache Spark Job that combines and converts JSON files to Apache Parquet files
  • CCreate a Kinesis data stream as a delivery target for Kinesis Data Firehose
  • DIntegrate an AWS Lambda function with Kinesis Data Firehose to convert source records to

How the community answered

(25 responses)
  • A
    28% (7)
  • B
    4% (1)
  • C
    12% (3)
  • D
    56% (14)

Why each option

To reduce Amazon Athena costs for querying clickstream data stored as JSON in Amazon S3, without recreating the data pipeline and with less management effort, converting data to Apache Parquet is essential. Integrating an AWS Lambda function with Kinesis Data Firehose allows for custom data transformation to convert source JSON records to Parquet format before delivery to S3, optimizing data storage for Athena queries.

AChange the Kinesis Data Firehose output format to Apache Parquet

While changing Firehose output format to Apache Parquet directly is a valid approach to reduce Athena costs, integrating a Lambda function might be considered more flexible for custom JSON-to-Parquet transformations and potentially more 'immediate' for data scientists if core Firehose configurations are managed by a separate team.

BCreate an Apache Spark Job that combines and converts JSON files to Apache Parquet files

Creating an Apache Spark job to convert files adds a new, separate processing layer and management overhead, which goes against the requirement for 'less management effort' and 'without recreating the data pipeline.'

CCreate a Kinesis data stream as a delivery target for Kinesis Data Firehose

Creating a Kinesis data stream as a delivery target for Kinesis Data Firehose does not address the core problem of reducing Athena costs associated with the file format in S3.

DIntegrate an AWS Lambda function with Kinesis Data Firehose to convert source records toCorrect

Amazon Athena costs are based on data scanned; columnar formats like Apache Parquet significantly reduce this cost. Integrating an AWS Lambda function with Kinesis Data Firehose enables custom data transformations, allowing source JSON records to be converted to the more efficient Parquet format before storage in S3, thereby optimizing data for Athena without altering the core pipeline.

Concept tested: Kinesis Firehose data transformation for Athena cost optimization

Source: https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html

Topics

#Kinesis Data Firehose#Amazon Athena#Cost Optimization#Data Transformation

Community Discussion

No community discussion yet for this question.

Full DAS-C01 Practice