Amazon Redshift Spectrum overview
This topic describes details for using Redshift Spectrum to efficiently read from Amazon S3.
Amazon Redshift Spectrum resides on dedicated Amazon Redshift servers that are independent of your cluster. Amazon Redshift pushes many compute-intensive tasks, such as predicate filtering and aggregation, down to the Redshift Spectrum layer. Thus, Redshift Spectrum queries use much less of your cluster's processing capacity than other queries. Redshift Spectrum also scales intelligently. Based on the demands of your queries, Redshift Spectrum can potentially use thousands of instances to take advantage of massively parallel processing.
You create Redshift Spectrum tables by defining the structure for your files and registering them as tables in an external data catalog. The external data catalog can be Amazon Glue, the data catalog that comes with Amazon Athena, or your own Apache Hive metastore. You can create and manage external tables either from Amazon Redshift using data definition language (DDL) commands or using any other tool that connects to the external data catalog. Changes to the external data catalog are immediately available to any of your Amazon Redshift clusters.
Optionally, you can partition the external tables on one or more columns. Defining partitions as part of the external table can improve performance. The improvement occurs because the Amazon Redshift query optimizer eliminates partitions that don't contain data for the query.
Materialized views on Spectrum tables can greatly improve cost and performance. For more information, see Materialized views on external data lake tables in Amazon Redshift Spectrum.
After your Redshift Spectrum tables have been defined, you can query and join the tables just as you do any other Amazon Redshift table. Redshift Spectrum doesn't support update operations on external tables. You can add Redshift Spectrum tables to multiple Amazon Redshift clusters and query the same data on Amazon S3 from any cluster in the same Amazon Region. When you update Amazon S3 data files, the data is immediately available for query from any of your Amazon Redshift clusters.
The Amazon Glue Data Catalog that you access might be encrypted to increase security. If the Amazon Glue catalog is encrypted, you need the Amazon Key Management Service (Amazon KMS) key for Amazon Glue to access the Amazon Glue catalog. Amazon Glue catalog encryption is not available in all Amazon Regions. For a list of supported Amazon Regions, see Encryption and Secure Access for Amazon Glue in the Amazon Glue Developer Guide. For more information about Amazon Glue Data Catalog encryption, see Encrypting Your Amazon Glue Data Catalog in the Amazon Glue Developer Guide.
Note
You can't view details for Redshift Spectrum tables using the same resources that you use for standard Amazon Redshift tables, such as PG_TABLE_DEF, STV_TBL_PERM, PG_CLASS, or information_schema. If your business intelligence or analytics tool doesn't recognize Redshift Spectrum external tables, configure your application to query SVV_EXTERNAL_TABLES and SVV_EXTERNAL_COLUMNS.
Amazon Redshift Spectrum Regions
Redshift Spectrum is available in Amazon Web Services Regions where Amazon Redshift is available, unless otherwise specified in Region specific documentation. For Amazon Web Services Region availability in commercial Regions, see Service endpoints for the Redshift API in the Amazon Web Services General Reference.