nqvuong1998 opened a new issue, #12297: URL: https://github.com/apache/iceberg/issues/12297
### Feature Request / Improvement **Summary**: Apache Iceberg should support identity columns similar to Delta Lake. This feature would allow users to define identity columns in Iceberg tables, where unique values are automatically generated when not explicitly provided during writes. **Motivation**: Currently, Apache Iceberg does not provide built-in support for identity columns. In contrast, Delta Lake allows defining identity columns that generate unique values when users do not explicitly provide them. This feature simplifies the handling of primary keys and auto-incrementing IDs in use cases such as: - Maintaining unique row identifiers in tables without requiring external sequence management. - Enabling better support for incremental ingestion scenarios where records require unique IDs. - Reducing complexity for users transitioning from traditional databases that support auto-incrementing primary keys. **Proposed Implementation**: - Introduce a new table property (e.g., identity.column=true) to enable identity columns on specific fields. - Define syntax for identity column declaration during table creation (e.g., CREATE TABLE ... (id BIGINT IDENTITY, name STRING)). - Implement automatic value generation for identity columns when an explicit value is not provided. - Ensure compatibility with Iceberg’s partitioning, snapshot isolation, and metadata management. **Alternatives Considered**: - Using externally managed sequences or UUIDs, but these approaches introduce additional complexity and overhead. - Leveraging application-side logic to generate unique values, which is not as efficient as native support. ### Query engine None ### Willingness to contribute - [ ] I can contribute this improvement/feature independently - [ ] I would be willing to contribute this improvement/feature with guidance from the Iceberg community - [x] I cannot contribute this improvement/feature at this time -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
