Netflix / iceberg

Iceberg is a table format for large, slow-moving tabular data
Apache License 2.0
472 stars 59 forks source link

Add action to cherry-pick snapshot changes #76

Closed rdblue closed 5 years ago

rdblue commented 5 years ago

In an audit workflow, new data is written to an orphan snapshot that is not committed as the table's current state until it is audited. After auditing a change, it may need to be applied or cherry-picked on top of the latest snapshot instead of the one that was current when the audited changes were created.

Iceberg needs to support cherry-picking the changes from an orphan snapshot by applying them to the current snapshot.

rdblue commented 5 years ago

Cherry-picking should always apply the exact set of changes that were done in the original commit. If files were deleted, then those files must still exist in the data set. All added files should be added to the new version. Also, if an overwrite by expression replaced 0 files, then there must be no files matching the expression.

rdblue commented 5 years ago

This has been moved to the ASF project: https://github.com/apache/incubator-iceberg/issues/42