Amazon Redshift를 사용하면 텍스트, Apache Parquet, Apache ORC, Avro 등 다양한 형식으로 Amazon Redshift 클러스터에서 Amazon S3로 반정형 데이터를 내보낼 수 있습니다. 다음 섹션에서는 Amazon Redshift에서 반정형 데이터에 대한 언로드 작업을 구성하고 실행하는 프로세스를 설명합니다.
SUPER 데이터 열이 있는 테이블을 쉼표로 구분된 값(CSV) 또는 텍스트 형식으로 Amazon S3로 언로드할 수 있습니다. Amazon Redshift는 탐색 절과 중첩 해제 절을 조합해서 사용하여 SUPER 데이터 형식의 계층적 데이터를 CSV 또는 텍스트 형식으로 Amazon S3로 언로드합니다. 그런 다음 언로드된 데이터에 대해 외부 테이블을 생성하고 Redshift Spectrum을 사용하여 쿼리할 수 있습니다. UNLOAD 및 필요한 IAM 권한 사용에 대한 자세한 내용은 UNLOAD 섹션을 참조하세요.
다음 예시를 실행하기 전에 Amazon Redshift로 비정형 데이터 로드의 프로세스를 사용하여 region_nations 테이블을 채우세요. 다음 예에 사용된 테이블에 대한 자세한 내용은 SUPER 샘플 데이터 집합 섹션을 참조하세요.
다음 예에서는 데이터를 Amazon S3로 언로드합니다.
UNLOAD ('SELECT * FROM region_nations')
TO 's3://xxxxxx/'
IAM_ROLE 'arn:aws:iam::xxxxxxxxxxxx:role/Redshift-S3-Write'
DELIMITER AS '|'
GZIP
ALLOWOVERWRITE;
사용자 정의 문자열이 null 값을 나타내는 다른 데이터 형식과 달리 Amazon Redshift는 JSON 형식을 사용하여 SUPER 데이터 열을 내보내고 JSON 형식에 따라 null로 나타냅니다. 결과적으로 SUPER 데이터 열은 UNLOAD 명령에 사용된 NULL [AS] 옵션을 무시합니다.