How Do You Rename a Table in HBase?

WattsInABox picture WattsInABox · Jan 15, 2015 · Viewed 16k times · Source

I'm trying to rename a table in HBase but the help in the shell doesn't have a rename command. move, mv and other common culprits don't appear to be it, either.

Answer

WattsInABox picture WattsInABox · Jan 15, 2015

To rename a table in HBase, apparently you have to use snapshots. So, you take a snapshot of the table and then clone it as a different name.

In the HBase shell:

disable 'tableName'
snapshot 'tableName', 'tableSnapshot'
clone_snapshot 'tableSnapshot', 'newTableName'
delete_snapshot 'tableSnapshot'
drop 'tableName'

SOURCE

http://hbase.apache.org/book.html#table.rename