QuestionQ175

Data Operations and Support

A retail company uses an Amazon Redshift data warehouse and an Amazon S3 bucket. The company loads retail order data into the S3 bucket every day.

The company stores all order data under one path in the S3 bucket. The data contains more than 100 columns. The company receives the order data from a third-party application that creates more than 30 CSV files each day. Every CSV file is between 50 and 70 MB in size.

The company uses Amazon Redshift Spectrum to run queries that select groups of columns. Users aggregate metrics from daily orders. Recently, users have reported degraded query performance. A data engineer must resolve the query performance issues.

Which combination of steps will meet this requirement with the LEAST development effort?

Choose two
  • A Configure the third-party application to create the files in a columnar format.
  • B Develop an AWS Glue ETL job to convert the multiple daily CSV files to one file for each day.
  • C Partition the order data in the S3 bucket based on order date.
  • D Configure the third-party application to create the files in JSON format.
  • E Load the JSON data into the Amazon Redshift table in a SUPER type column.
Explanation

Columnar files such as Apache Parquet or ORC allow Amazon Redshift Spectrum to eliminate unneeded columns, whereas text-file formats require scanning the full file. Partitioning the data by order date allows partition pruning for daily-order queries, limiting scans to the relevant date partitions. The existing files are already near the recommended minimum 64 MB size and support parallel processing, so consolidating them into one daily file is unnecessary.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!