How Do You Make Redshift Spectrum Queries on S3 the Fastest?

Answer Correct answer: B, C — Store S3 data in a columnar format and partition it on the most common query predicates so Redshift Spectrum scans and prunes less data.

A company is building an analytics solution. The solution uses Amazon S3 for data lake storage and Amazon Redshift for a data warehouse. The company wants to use Amazon Redshift Spectrum to query the data that is in Amazon S3. Which actions will provide the FASTEST queries? (Choose two.)

  1. Use gzip compression to compress individual files to sizes that are between 1 GB and 5 GB.
  2. Use a columnar storage file format. Correct Answer
  3. Partition the data based on the most common query predicates. Correct Answer
  4. Split the data into files that are less than 10 KB.
  5. Use file formats that are not splittable.

Community Votes

BC
100%

100% of anonymous learners picked answer BC. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

Tests whether you know the two levers that actually cut bytes scanned in Spectrum — columnar pruning and partition pruning — versus distractor advice about gzip file sizes and splittability.

Redshift Spectrum query speed on an S3 data lake is driven overwhelmingly by how the files are laid out, not by compression tricks. This page confirms that a columnar file format plus partitioning on the most common query predicates (B and C) is the combination AWS recommends for the fastest Spectrum scans.

Picking option A because "compression is good for performance" — but gzip is not splittable in Spectrum, and bundling data into single 1–5 GB files reduces parallelism instead of helping it.

Community Discussion (6 comments)

GiorgioGss 👍 6 Selected: BC
https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-performance.html
rralucard_ 👍 5 Selected: BC
B. Use a columnar storage file format: This is an excellent approach. Columnar storage formats like Parquet and ORC are highly recommended for use with Redshift Spectrum. They store data in columns, which allows Spectrum to scan only the needed columns for a query, significantly improving query performance and reducing the amount of data scanned. C. Partition the data based on the most common query predicates: Partitioning data in S3 based on commonly used query predicates (like date, region, etc.) allows Redshift Spectrum to skip large portions of data that are irrelevant to a particular query. This can lead to substantial performance improvements, especially for large datasets.
andrologin 👍 1 Selected: BC
Partioning helps filter the data and columnar storage is optimised for analytical (OLAP) queries
pypelyncar 👍 3 Selected: BC
Redshift Spectrum is optimized for querying data stored in columnar formats like Parquet or ORC. These formats store each data column separately, allowing Redshift Spectrum to only scan the relevant columns for a specific query, significantly improving performance compared to row-oriented formats Partitioning organizes data files in S3 based on specific column values (e.g., date, region). When your queries filter or join data based on these partitioning columns (common query predicates), Redshift Spectrum can quickly locate the relevant data files, minimizing the amount of data scanned and accelerating query execution
d8945a1 👍 1 Selected: BC
https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/
certplan 👍 1
2. Partitioning: AWS documentation for Amazon Redshift Spectrum highlights the importance of partitioning data based on commonly used query predicates to improve query performance. By partitioning data, Redshift Spectrum can prune unnecessary partitions during query execution, reducing the amount of data scanned and improving overall query performance. This guidance can be found in the AWS documentation for Amazon Redshift Spectrum under "Using Partitioning to Improve Query Performance": https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum-partitioning.html

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Redshift Spectrum is a scan-and-filter engine: the dominant cost is the number of bytes it must read from S3, so the fastest queries come from layouts that let it read less. A columnar format such as Parquet or ORC stores each column separately, so Spectrum projects only the columns the query references instead of reading entire rows. Partitioning the S3 prefixes on the columns used most often in WHERE clauses lets Spectrum prune whole partitions and never even list those objects. AWS's own Spectrum performance guidance pairs exactly these two recommendations — columnar formats and partitioning — as the highest-impact tuning steps, which is why B and C together are the answer.

Why the Other Options Are Wrong

Option A frames gzip compression around single 1–5 GB files, which is the wrong shape for Spectrum: gzip is not splittable for Spectrum workers, and very large individual objects limit the parallelism of the scan (AWS guidance favors roughly 100 MB–1 GB splittable files). Option D is the opposite failure mode — files under 10 KB create per-object overhead, heavy listing pressure, and terrible throughput. Option E is simply backwards: non-splittable formats prevent a large file from being read by multiple workers in parallel, so they slow queries down. Compression in general is helpful, but only when it is splittable and paired with sensible file sizing, which none of these distractors describe.

Community Comment Notes

GiorgioGss anchored the discussion by linking the AWS Redshift Spectrum external-table performance documentation, which is the same source this explanation relies on. rralucard_ and pypelyncar both walked through the mechanics: columnar formats like Parquet and ORC let Spectrum "scan only the needed columns," and partitioning lets it skip irrelevant prefixes entirely. andrologin summarized it as "Partioning helps filter the data and columnar storage is optimised" for OLAP workloads, and certplan quoted AWS guidance that partitioning should follow "the most common query predicates." The comment set is unanimous on B and C, and that consensus matches the vendor documentation rather than merely echoing the answer key.

Official Reference

Exam Strategy

When a Spectrum or Athena question asks for the "fastest" or "least data scanned," immediately look for columnar format plus partitioning. Distractors usually smuggle in a real concept (compression, splittability) with a wrong detail such as non-splittable gzip or tiny/huge file sizes.

Frequently Asked Questions

Why isn't gzip compression with 1–5 GB files the fastest option for Redshift Spectrum?

Gzip is not splittable for Spectrum workers, and 1–5 GB single objects limit scan parallelism; AWS favors splittable formats in roughly 100 MB–1 GB files.

Why does partitioning S3 data make Redshift Spectrum faster?

Partitioning on common query predicates lets Spectrum prune entire prefixes during planning, so it never lists or reads partitions the query does not need.

More DEA-C01 FAQ →

Related Analysis

Practice All DEA-C01 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DEA-C01 Practice Test →

← Back to DEA-C01 Study Guide