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.