This documentation is for an unreleased version of Apache Paimon. We recommend you use the latest stable version.
Overview #
Paimon supports generating Iceberg compatible metadata, so that Paimon tables can be consumed directly by Iceberg readers.
Set the following table options, so that Paimon tables can generate Iceberg compatible metadata.
Option | Default | Type | Description |
---|---|---|---|
metadata.iceberg.storage |
disabled | Enum |
When set, produce Iceberg metadata after a snapshot is committed, so that Iceberg readers can read Paimon's raw data files.
|
metadata.iceberg.storage-location |
(none) | Enum |
Specifies where to store Iceberg metadata files. If not set, the storage location will default based on the selected metadata.iceberg.storage type.
|
For most SQL users, we recommend setting 'metadata.iceberg.storage' = 'hadoop-catalog'
or 'metadata.iceberg.storage' = 'hive-catalog'
,
so that all tables can be visited as an Iceberg warehouse.
For Iceberg Java API users, you might consider setting 'metadata.iceberg.storage' = 'table-location'
,
so you can visit each table with its table path.
When using metadata.iceberg.storage = hadoop-catalog
or hive-catalog
,
you can optionally configure metadata.iceberg.storage-location
to control where the metadata is stored.
If not set, the default behavior depends on the storage type.
Supported Types #
Paimon Iceberg compatibility currently supports the following data types.
Paimon Data Type | Iceberg Data Type |
---|---|
BOOLEAN |
boolean |
INT |
int |
BIGINT |
long |
FLOAT |
float |
DOUBLE |
double |
DECIMAL |
decimal |
CHAR |
string |
VARCHAR |
string |
BINARY |
binary |
VARBINARY |
binary |
DATE |
date |
TIMESTAMP * |
timestamp |
TIMESTAMP_LTZ * |
timestamptz |
ARRAY |
list |
MAP |
map |
ROW |
struct |
*: TIMESTAMP
and TIMESTAMP_LTZ
type only support precision from 4 to 6