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 형식 |
|---|---|
|
|
|
|
|
|
|
|
|
지원되지 않는 데이터 형식을 사용하려고 하면 구문 오류가 발생합니다. 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의 데이터 형식에 대한 자세한 내용은 데이터 타입을 참조하세요.