View a markdown version of this page

템플릿으로 복사 - Amazon Redshift

Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

템플릿으로 복사

Redshift 템플릿을 COPY 명령과 함께 사용하여 명령 구문을 단순화하고 데이터 로드 작업 전반에서 일관성을 보장할 수 있습니다. 동일한 형식 지정 파라미터를 반복적으로 지정하는 대신 템플릿에서 한 번 정의하고 COPY 명령에서 템플릿을 참조합니다. 템플릿을 사용하는 경우 COPY 명령은 템플릿의 파라미터를 명령에 직접 지정된 모든 파라미터와 결합합니다. 템플릿과 명령 모두에 동일한 파라미터가 나타나면 명령 파라미터가 우선합니다. 자세한 내용은 CREATE TEMPLATE 섹션을 참조하세요.

COPY 명령의 템플릿은 다음을 사용하여 생성할 수 있습니다.

지원되는 파라미터의 전체 목록은 COPY 명령을 참조하세요.

필수 권한

COPY 명령에서 템플릿을 사용하려면 다음이 필요합니다.

  • COPY 명령을 실행하는 데 필요한 모든 권한(필수 권한 참조)

  • 다음 템플릿 권한 중 하나입니다.

    • 수퍼유저 권한

    • 템플릿에 대한 USAGE 권한 및 템플릿이 포함된 스키마에 대한 USAGE 권한

구문

COPY target_table FROM 's3://...' authorization [ option, ...] USING TEMPLATE [database_name.][schema_name.]template_name;

파라미터

database_name

(선택 사항) 템플릿이 있는 데이터베이스의 이름입니다. 지정하지 않으면 현재 데이터베이스가 사용됩니다.

schema_name

(선택 사항) 템플릿이 있는 스키마의 이름입니다. 지정하지 않으면 현재 검색 경로에서 템플릿이 검색됩니다.

template_name

COPY에서 사용할 템플릿 이름입니다.

사용 노트

  • COPY 명령에서 명령별 파라미터(소스, 대상, 권한 부여)를 계속 지정해야 합니다.

  • 템플릿에는 COPY 명령에 대한 매니페스트 파일 사양이 포함될 수 없습니다.

예제

다음 예제에서는 템플릿을 생성하고 COPY 명령에서 사용하는 방법을 보여 줍니다.

CREATE TEMPLATE public.test_template FOR COPY AS CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100; COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' USING TEMPLATE public.test_template;

템플릿과 명령 모두에 파라미터가 있는 경우 명령 파라미터가 우선합니다. 이 예제에서는 public.test_template 템플릿에 DELIMITER '|' 기호가 포함되어 있지만 COPY 명령이 DELIMITER ',' 기호를 지정하는 경우 명령의 쉼표 구분 기호(,)가 템플릿의 파이프 구분 기호(|) 대신 사용됩니다.

COPY public.target_table FROM 's3://amzn-s3-demo-bucket/staging-folder' IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName' DELIMITER ',' USING TEMPLATE public.test_template;