

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# Amazon Redshift Spectrum 개요
<a name="c-spectrum-overview"></a>

이 주제에서는 Redshift Spectrum을 사용하여 Amazon S3에서 효율적으로 읽는 방법에 대해 자세히 설명합니다.

Amazon Redshift Spectrum은 클러스터와 독립적인 전용 Amazon Redshift 서버에 상주합니다. Amazon Redshift는 조건자 필터링 및 집계 같은 많은 컴퓨팅 집약적 작업을 Redshift Spectrum 계층까지 푸시합니다. 따라서 Redshift Spectrum 쿼리는 다른 쿼리보다 클러스터의 처리 용량을 훨씬 적게 사용합니다. Redshift Spectrum은 또 지능적으로 조정됩니다. Redshift Spectrum은 쿼리 요구에 기반하여 대량 병렬 처리를 활용하기 위해 수천 개의 인스턴스를 사용할 수 있습니다.

파일의 구조를 정의하고 외부 데이터 카탈로그에 테이블로 등록해 Redshift Spectrum 테이블을 만듭니다. 외부 데이터 카탈로그는 AWS Glue, Amazon Athena와 함께 제공되는 데이터 카탈로그 또는 자체 Apache Hive 메타스토어일 수 있습니다. 데이터 정의 언어(DDL) 명령을 사용하거나 외부 데이터 카탈로그에 연결된 다른 도구를 사용하여 Amazon Redshift에서 외부 테이블을 생성하고 관리할 수 있습니다. 외부 데이터 카탈로그의 변경 사항은 Amazon Redshift 클러스터에서 즉시 사용할 수 있습니다.

필요할 경우, 하나 이상의 열에서 외부 테이블을 파티셔닝할 수 있습니다. 외부 테이블의 일부로 파티션을 정의하면 성능을 개선할 수 있습니다. 개선이 가능한 이유는 쿼리를 위한 데이터가 포함되지 않은 파티션을 Amazon Redshift 쿼리 옵티마이저가 제거하기 때문입니다.

Spectrum 테이블에 대한 구체화된 뷰는 비용과 성능을 크게 개선할 수 있습니다. 자세한 내용은 [Amazon Redshift Spectrum의 외부 데이터 레이크 테이블에 대한 구체화된 뷰외부 데이터 레이크 테이블의 구체화된 뷰](materialized-view-external-table.md) 섹션을 참조하세요.

Redshift Spectrum 테이블이 정의된 후 다른 Amazon Redshift 테이블과 똑같이 테이블을 쿼리하고 조인할 수 있습니다. Redshift Spectrum은 외부 테이블에 대한 업데이트 작업을 지원하지 않습니다. Redshift Spectrum 테이블을 여러 Amazon Redshift 클러스터에 추가하여 같은 AWS 리전의 어느 클러스터에서나 Amazon S3에 있는 동일한 데이터를 쿼리할 수 있습니다. Amazon S3 데이터 파일을 업데이트하면 어느 Amazon Redshift 클러스터에서나 해당 데이터를 즉시 사용할 수 있습니다.

액세스하는 AWS Glue 데이터 카탈로그가 보안을 강화하기 위해 암호화될 수 있습니다. AWS Glue 카탈로그가 암호화되어 있는 경우 AWS Glue 카탈로그에 액세스하려면 AWS Glue에 AWS Key Management Service(AWS KMS) 키가 필요합니다. 일부 AWS 리전에서는 AWS Glue 카탈로그 암호화를 사용할 수 없습니다. 지원되는 AWS 리전 목록은 *[AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/)*의 [Encryption and Secure Access for AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/encryption-glue-resources.html) 섹션을 참조하세요. AWS Glue Data Catalog 암호화에 대한 자세한 내용은 *[AWS Glue Developer Guide](https://docs.aws.amazon.com/glue/latest/dg/)*의 [Encrypting Your AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/encrypt-glue-data-catalog.html) 섹션을 참조하세요. 

**참고**  
[PG\$1TABLE\$1DEF](r_PG_TABLE_DEF.md), [STV\$1TBL\$1PERM](r_STV_TBL_PERM.md), PG\$1CLASS 또는 information\$1schema와 같은 표준 Amazon Redshift 테이블에 사용하는 것과 동일한 리소스를 사용하여 Redshift Spectrum 테이블에 대한 세부 정보를 볼 수 없습니다. 비즈니스 인텔리전스 또는 분석 도구가 Redshift Spectrum 외부 테이블을 인식하지 못하는 경우 애플리케이션이 [SVV\$1EXTERNAL\$1TABLES](r_SVV_EXTERNAL_TABLES.md) 및 [SVV\$1EXTERNAL\$1COLUMNS](r_SVV_EXTERNAL_COLUMNS.md)를 쿼리하도록 구성합니다.

## Amazon Redshift Spectrum 리전
<a name="c-spectrum-regions"></a>

Redshift 스펙트럼은 리전별 설명서에 달리 명시되지 않는 한 Amazon Redshift Redshift를 사용할 수 있는 AWS 리전에서 사용할 수 있습니다. 상업용 리전에서의 AWS 리전 가용성은 *Amazon Web Services 일반 참조*의 **Redshift API**에 대한 [서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html#redshift_region)를 참조하세요.

# Amazon Redshift Spectrum 제한 사항
<a name="c-spectrum-considerations"></a>

이 주제에서는 Redshift Spectrum 사용 시 적용되는 제한 사항을 설명합니다.

Redshift Spectrum을 사용할 때 다음을 고려하세요.
+ Amazon Redshift 클러스터와 Amazon S3 버킷이 동일한 AWS 리전에 있어야 합니다.
+ Redshift Spectrum은 대한 향상된 VPC 라우팅을 지원하지 않습니다. Amazon S3 데이터에 액세스하려면 추가 구성 단계를 수행해야 할 수 있습니다. 자세한 내용은 **Amazon Redshift 관리 안내서의 [Redshift Spectrum 및 향상된 VPC 라우팅](https://docs.aws.amazon.com/redshift/latest/mgmt/spectrum-enhanced-vpc.html)을 참조하세요.
+ Redshift 스펙트럼은 Amazon S3 액세스 포인트 별칭을 지원합니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [액세스 포인트에 버킷 스타일 별칭 사용](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-alias.html)을 참조하세요. 그러나 Redshift Spectrum은 Amazon S3 액세스 포인트 별칭이 있는 VPC를 지원하지 않습니다. 자세한 내용은 **Amazon Redshift 관리 안내서의 [Redshift Spectrum 및 향상된 VPC 라우팅](https://docs.aws.amazon.com/redshift/latest/mgmt/spectrum-enhanced-vpc.html)을 참조하세요.
+ 외부 테이블에서는 업데이트 또는 삭제 작업을 수행할 수 없습니다. 지정된 스키마에 새 외부 테이블을 생성하기 위해 CREATE EXTERNAL TABLE을 사용할 수 있습니다. CREATE EXTERNAL TABLE에 대한 자세한 내용은 [CREATE EXTERNAL TABLE](r_CREATE_EXTERNAL_TABLE.md) 섹션을 참조하세요. 외부 카탈로그의 기존 외부 테이블에 SELECT 쿼리의 결과를 삽입하기 위해 INSERT(외부 테이블)를 사용할 수 있습니다. INSERT(외부 테이블)에 대한 자세한 내용은 [INSERT(외부 테이블)](r_INSERT_external_table.md) 섹션을 참조하세요.
+ AWS Lake Formation에 대해 사용 설정된 AWS Glue Data Catalog를 사용하지 않는 한 외부 테이블에 대한 사용자 권한을 제어할 수 없습니다. 그 대신 외부 테이블에서 권한을 허용하고 취소할 수는 있습니다. AWS Lake Formation 작업에 대한 자세한 내용은 [Redshift Spectrum 및 AWS Lake Formation](spectrum-lake-formation.md) 섹션을 참조하세요.
+ Redshift Spectrum 쿼리를 실행하려면 데이터베이스 사용자가 데이터베이스에서 임시 테이블을 생성할 수 있는 권한을 보유해야 합니다. 다음 예에서는 `spectrumdb` 데이터베이스에 대한 임시 권한을 `spectrumusers` 사용자 그룹에 부여합니다.

  ```
  grant temp on database spectrumdb to group spectrumusers;
  ```

  자세한 내용은 [GRANT](r_GRANT.md) 섹션을 참조하세요.
+ Athena Data Catalog 또는 AWS Glue Data Catalog를 메타데이터 스토어로 사용하는 경우 *Amazon Redshift 관리 가이드*의 [할당량 및 제한](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 섹션을 참조하세요.
+ Redshift Spectrum은 Kerberos가 포함된 Amazon EMR을 지원하지 않습니다.