1. The primary key concept is now added to Iceberg as the identifier concept in schema. I am in the progress of adding the documentation. You can read the javadoc for more details for now: https://github.com/apache/iceberg/blob/master/api/src/main/java/org/apache/iceberg/Schema.java#L189-L210
2. Yes, properties is the one for user metadata. 3. Why do you want to store additional configs and names for snapshot? The snapshot.summary field is written by engine and has these defined fields: https://github.com/apache/iceberg/blob/master/core/src/main/java/org/apache/iceberg/SnapshotSummary.java -Jack On Fri, May 14, 2021 at 8:49 AM QH Yan <[email protected]> wrote: > Hi there, > We want to store 3 different kinds of metadata/config in Iceberg tables. > > 1. Additional settings/admin properties for a table (e.g. PrimaryKey info) > I think it is* table.properties* according to here > <https://iceberg.apache.org/spec/#table-metadata-fields> and would like > to confirm. > > 2. User metadata at table level. > Sometimes user wants to take notes about a table. Is there a field for > this? (map of String is good enough and I don't want to abuse > table.properties also as the doc points out) > > 3. Snapshot name and additional configs > Seems that* snapshot.summary* is for both of these according to here > <https://iceberg.apache.org/spec/#snapshots>, am I right? > > Thank you! > > -- > *Qinhua* > >
