Tipe data yang didukung dengan tabel Apache Iceberg - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat posting blog.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tipe data yang didukung dengan tabel Apache Iceberg

Topik ini menjelaskan tipe data yang didukung yang dapat dibaca Redshift Spectrum dari tabel dalam format Apache Iceberg.

Amazon Redshift dapat menanyakan tabel Iceberg yang berisi tipe data berikut:

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

Saat Anda membuat dan menentukan tabel Iceberg, gunakan nama tipe data Amazon Redshift dalam pernyataan SQL. Redshift secara otomatis memetakannya ke jenis Gunung Es yang sesuai. Untuk informasi selengkapnya tentang tipe data Gunung Es, lihat Skema untuk Gunung Es di dokumentasi Apache Iceberg.

Saat membaca dari tabel Iceberg, tipe data Iceberg dipetakan ke dalam tipe data Redshift seperti yang ditunjukkan pada tabel di bawah ini:

Jenis gunung es Jenis Amazon Redshift Catatan
boolean boolean -
- tinyint Tidak didukung untuk tabel Iceberg.
- smallint Tidak didukung untuk tabel Iceberg.
int int -
long bigint -
double double precision -
float real -
decimal(P, S) decimal(P, S) Padalah presisi, S adalah skala.
- char Tidak didukung untuk tabel Iceberg.
string varchar(16384) String yang lebih besar dari 16384 yang dipotong menjadi. 16384
binary varbyte(64000) -
date date -
time - -
timestamp timestamp -
timestamptz timestampz -
list<E> SUPER -
map<K,V> SUPER -
struct<...> SUPER -
fixed(L) - fixed(L)Jenis saat ini tidak didukung di Redshift Spectrum.
uuid - uuidJenis saat ini tidak didukung di Redshift Spectrum.
variant - Amazon Redshift tidak mendukung Iceberg V3.
geometry - Amazon Redshift tidak mendukung Iceberg V3.
geography - Amazon Redshift tidak mendukung Iceberg V3.
timestamp_ns - Amazon Redshift tidak mendukung Iceberg V3.
timestamptz_ns - Amazon Redshift tidak mendukung Iceberg V3.
Unknown - Amazon Redshift tidak mendukung Iceberg V3.

Jenis data berikut didukung saat membuat tabel Iceberg dari Redshift. Jenis data pergeseran merah dipetakan ke dalam tipe data Iceberg seperti yang ditunjukkan pada tabel berikut.

Jenis Amazon Redshift Alias Amazon Redshift Jenis gunung es Catatan
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 Tipe varchar(n) data tidak didukung saat membuat tabel Iceberg.
date - date -
timestamp - timestamp -
timestamptz - timestamptz -
boolean - boolean -

Saat menulis ke tabel Iceberg, selain tipe data yang disebutkan dalam tabel sebelumnya, beberapa tipe data sumber dipromosikan ke tipe Iceberg yang kompatibel seperti yang ditunjukkan pada tabel berikut.

Jenis Amazon Redshift Jenis gunung es

tinyint

int

smallint

int

varchar(n)

string

Mencoba menggunakan tipe data yang tidak didukung akan menghasilkan kesalahan sintaks. Saat Anda membuat tabel Iceberg dengan CREATE TABLE AS SELECT klausa, Anda dapat menambahkan pemeran eksplisit untuk mengatasi perbedaan tipe.

Misalnya, Anda memiliki tabel Redshift RMS dengan skema berikut:

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

Jika Anda ingin membuat tabel Iceberg menggunakan rms_t sebagai sumber, Anda memerlukan pemeran eksplisit untuk c2 kolom, karena varchar(n) jenisnya tidak didukung:

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

Untuk informasi selengkapnya tentang tipe data di Amazon Redshift, lihat. Jenis Data