You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2021/03/02 09:54:40 UTC

[GitHub] [iceberg] rymurr opened a new issue #2288: Catalog Migration transaction

rymurr opened a new issue #2288:
URL: https://github.com/apache/iceberg/issues/2288


   Hi All,
   
   As we have been adding more types of catalogs I have been thinking of how to move tables between catalogs. This could be to test a new catalog type on an existing iceberg table or to perform larger scale migrations.
   
   The technical aspect of this seems relatively straightforward:
   1) Create a `TableOperations` in target catalog
   2) call `TableOperations.commit(null, metadataFromSourceCatalog)`
   
   What I am struggling with is where this functionality should live. Some options:
   * as an action: this feels wrong as its not a big or long lived process
   * as a method on `Table`. This seems rather natural but it requires getting a Table first, probably by creating an empty table. Technically speaking this would expose an implementation of `PendingUpdate` that would take as input an existing table or an exsiting catalog and table identifier.
   * As a specialization of `createTable` on the `TableBuilder`, perhaps `createTableFrom` which would take an existing table from a different catalog as input.
   * As a completely separate util. Eg a static method or builder that takes (at least) an existing Table and a new Catalog as input. Its not clear which module this should live in though.
   
   Before doing the implementation I thought I would solicit opinions from the community. Which of the 4 do you think is best or is there something easier I missed?
   
   cc @jackye1995 


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org