Skip to content

Schemas🔗

Iceberg tables support the following types:

Type Description Notes
boolean True or false
int 32-bit signed integers Can promote to long
long 64-bit signed integers
float 32-bit IEEE 754 floating point Can promote to double
double 64-bit IEEE 754 floating point
decimal(P,S) Fixed-point decimal; precision P, scale S Scale is fixed and precision must be 38 or less
date Calendar date without timezone or time
time Time of day without date, timezone Stored as microseconds
timestamp Timestamp without timezone Stored as microseconds
timestamptz Timestamp with timezone Stored as microseconds
string Arbitrary-length character sequences Encoded with UTF-8
fixed(L) Fixed-length byte array of length L
binary Arbitrary-length byte array
struct<...> A record with named fields of any data type
list<E> A list with elements of any data type
map<K, V> A map with keys and values of any data type

Iceberg tracks each field in a table schema using an ID that is never reused in a table. See correctness guarantees for more information.