Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request : Support Iceberg Identifier Fields #23563

Open
lozbrown opened this issue Sep 25, 2024 · 0 comments
Open

Feature Request : Support Iceberg Identifier Fields #23563

lozbrown opened this issue Sep 25, 2024 · 0 comments
Labels
enhancement New feature or request iceberg Iceberg connector

Comments

@lozbrown
Copy link

The Iceberg spec mentions

Identifier Field IDs
A schema can optionally track the set of primitive fields that identify rows in a table, using the property identifier-field-ids (see JSON encoding in Appendix C).

Two rows are the "same"---that is, the rows represent the same entity---if the identifier fields are equal. However, uniqueness of rows by this identifier is not guaranteed or required by Iceberg and it is the responsibility of processing engines or data providers to enforce.

Identifier fields may be nested in structs but cannot be nested within maps or lists. Float, double, and optional fields cannot be used as identifier fields and a nested field cannot be used as an identifier field if it is nested in an optional struct, to avoid null values in identifiers.

Support defining Identifier Field IDs when creating tables and showing that these are identifier fields when displaying with "show create table"

As above no expectation of enforcing these is required in Trino but the creation, storage and access to this metadata would be helpful to those creating automated processes to merge tables.

@ebyhr ebyhr added enhancement New feature or request iceberg Iceberg connector labels Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request iceberg Iceberg connector
Development

No branches or pull requests

2 participants