HBase重命名行

时间:2017-06-02 09:30:20

标签: hbase

我需要能够重命名HBase中的行键,正如我的研究所做的那样,没有任何支持的方法。唯一的方法是通过以下步骤手动完成:

  • 获取旧密钥下的行
  • 将行放在新密钥下
  • 删除旧密钥下的行

以下是我的错误 - 如果介于两者之间失败怎么办?例如,我不想进入两个不同行键下同一行的情况。

是否有某种交易方式可以做到这一点?

1 个答案:

答案 0 :(得分:1)

  • HBase中没有交易
  • 是的,行键是不可变的,你不能改变它。

我可能看到的唯一方法是在客户端执行一些额外的验证或检查。例如:

  • 将旧行标记为已删除(将一些列添加到旧行soft delete = true和new row id = ???)
  • 使用新密钥创建新行
  • 删除旧行ID的行。

根据创建的标志,如果史密斯出错,您可以回滚或完成操作。