Apache Iceberg 테이블에서 지원되는 데이터 유형 - Amazon Redshift

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

Apache Iceberg 테이블에서 지원되는 데이터 유형

이 주제에서는 Redshift Spectrum이 Apache Iceberg 형식의 테이블에서 읽을 수 있는 지원되는 데이터 유형에 대해 설명합니다.

Amazon Redshift는 다음 데이터 형식이 포함된 Iceberg 테이블을 쿼리할 수 있습니다.

binary boolean date decimal double float int list long map string struct timestamp without time zone

Iceberg 테이블을 생성하고 정의할 때 SQL 문에서 Amazon Redshift 데이터 형식 이름을 사용합니다. Redshift는 자동으로 해당 Iceberg 유형에 매핑합니다. Iceberg 데이터 형식에 대한 자세한 내용은 Apache Iceberg 설명서에서 Iceberg용 스키마를 참조하세요.

Iceberg 테이블에서 읽을 때 Iceberg 데이터 형식은 아래 표와 같이 Redshift 데이터 형식으로 매핑됩니다.

Iceberg 형식 Amazon Redshift 형식 참고
boolean boolean -
- tinyint Iceberg 테이블에는 지원되지 않습니다.
- smallint Iceberg 테이블에는 지원되지 않습니다.
int int -
long bigint -
double double precision -
float real -
decimal(P, S) decimal(P, S) P는 정밀도이며, S는 스케일입니다.
- char Iceberg 테이블에는 지원되지 않습니다.
string varchar(16384) 16384보다 큰 문자열은 16384로 잘립니다.
binary varbyte(64000) -
date date -
time - -
timestamp timestamp -
timestamptz timestampz -
list<E> SUPER -
map<K,V> SUPER -
struct<...> SUPER -
fixed(L) - fixed(L) 형식은 현재 Redshift Spectrum에서 지원되지 않습니다.
uuid - uuid 형식은 현재 Redshift Spectrum에서 지원되지 않습니다.
variant - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.
geometry - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.
geography - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.
timestamp_ns - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.
timestamptz_ns - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.
Unknown - Amazon Redshift는 Iceberg V3를 지원하지 않습니다.

Redshift에서 Iceberg 테이블을 생성할 때 다음 데이터 유형이 지원됩니다. Redshift 데이터 형식은 다음 표와 같이 Iceberg 데이터 형식으로 매핑됩니다.

Amazon Redshift 형식 Amazon Redshift 별칭 Iceberg 형식 참고
integer int, int4 int -
bigint int8 long -
decimal numeric decimal(p,S) -
real float4 float -
double precision float8, float double -
varchar charactter varying,nvarchar, text string Iceberg 테이블을 생성할 때는 varchar(n) 데이터 유형이 지원되지 않습니다.
date - date -
timestamp - timestamp -
timestamptz - timestamptz -
boolean - boolean -

Iceberg 테이블에 쓸 때 이전 표에 언급된 데이터 유형 외에도 일부 소스 데이터 유형은 다음 테이블과 같이 호환되는 Iceberg 유형으로 승격됩니다.

Amazon Redshift 형식 Iceberg 형식

tinyint

int

smallint

int

varchar(n)

string

지원되지 않는 데이터 형식을 사용하려고 하면 구문 오류가 발생합니다. CREATE TABLE AS SELECT 절을 사용하여 Iceberg 테이블을 생성할 때 명시적 캐스트를 추가하여 유형 차이를 해결할 수 있습니다.

예를 들어, Redshift RMS 테이블에 다음 스키마가 있다고 가정해보겠습니다.

CREATE TABLE rms_t (c1 int, c2 char(20));

rms_t를 소스로 사용하여 Iceberg 테이블을 생성하려면 varchar(n) 유형이 지원되지 않으므로 c2 열에 대한 명시적 캐스트가 필요합니다.

CREATE TABLE ext_schema.iceberg_t AS SELECT c1, c2::varchar FROM rms_t;

Amazon Redshift의 데이터 형식에 대한 자세한 내용은 데이터 타입을 참조하세요.