jackye1995 opened a new pull request #2887:
URL: https://github.com/apache/iceberg/pull/2887


   Based on the discussion on dev list, it would be good to have a way to 
directly create experimental v2 tables. This is my current proposal:
   
   When `format-version` is specifying in the table properties section of a 
CREATE TABLE DDL, we use the specific format version, otherwise use default 
version
   
   Some considerations I had:
   1. `format-version` is not a part of `TableProperties`, but just a property 
used at table creation time. The value is never stored as actual table 
property, and updating this property has no effect on table version.
   2. Because of 1, we do not use a traditional property syntax like 
`format.version` but instead use `table-format` to distinguish it from other 
actual table properties.
   3. I am trying to make this a long-term solution for future format versions, 
so I made the property a public variable that can be imported.
   4. The table properties section of a CREATE TABLE DDL is used because it 
exists in all SQL dialects, which means that all engines can have this 
functionality to test experimental feature through this change.
   
   It is a bit hard to test this in unit test because format version is not 
publicly accessible. I have tested with Spark on EMR and manually verified that 
the metadata file shows the correct version.
   
   @rdblue @openinx 


-- 
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]

Reply via email to