반정형 데이터 언로드 - Amazon Redshift

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

반정형 데이터 언로드

Amazon Redshift를 사용하면 텍스트, Apache Parquet, Apache ORC, Avro 등 다양한 형식으로 Amazon Redshift 클러스터에서 Amazon S3로 반정형 데이터를 내보낼 수 있습니다. 다음 섹션에서는 Amazon Redshift에서 반정형 데이터에 대한 언로드 작업을 구성하고 실행하는 프로세스를 설명합니다.

CSV or text formats

SUPER 데이터 열이 있는 테이블을 쉼표로 구분된 값(CSV) 또는 텍스트 형식으로 Amazon S3로 언로드할 수 있습니다. Amazon Redshift는 탐색 절과 중첩 해제 절을 조합해서 사용하여 SUPER 데이터 형식의 계층적 데이터를 CSV 또는 텍스트 형식으로 Amazon S3로 언로드합니다. 그런 다음 언로드된 데이터에 대해 외부 테이블을 생성하고 Redshift Spectrum을 사용하여 쿼리할 수 있습니다. UNLOAD 및 필요한 IAM 권한 사용에 대한 자세한 내용은 UNLOAD 섹션을 참조하세요.

다음 예시에서는 Amazon Redshift 테이블의 모든 데이터를 Amazon S3 버킷에 언로드합니다.

UNLOAD ('SELECT * FROM <redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' DELIMITER AS '|' GZIP ALLOWOVERWRITE;

사용자 정의 문자열이 null 값을 나타내는 다른 데이터 형식과 달리 Amazon Redshift는 JSON 형식을 사용하여 SUPER 데이터 열을 내보내고 JSON 형식에 따라 null로 나타냅니다. 결과적으로 SUPER 데이터 열은 UNLOAD 명령에 사용된 NULL [AS] 옵션을 무시합니다.

Parquet format

SUPER 데이터 열이 있는 테이블을 Parquet 형식으로 Amazon S3로 언로드할 수 있습니다. Amazon Redshift는 Parquet의 SUPER 열을 JSON 데이터 유형으로 나타냅니다. 이를 통해 반정형 데이터를 Parquet로 표시할 수 있습니다. Redshift Spectrum을 사용하여 이러한 열을 쿼리하거나 COPY 명령을 사용하여 Amazon Redshift로 다시 수집할 수 있습니다. UNLOAD 및 필요한 IAM 권한 사용에 대한 자세한 내용은 UNLOAD 섹션을 참조하세요.

다음 예시에서는 Amazon Redshift 테이블의 모든 데이터를 Parquet 형식으로 Amazon S3 버킷에 언로드합니다.

UNLOAD ('SELECT * FROM <Amazon Redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' FORMAT PARQUET;