phoenix和hbase表迁移

工作中有时因为沟通问题,在phoenix中新建的表和hbase导入数据到表名称不一样,需要将有数据的表名更改为线上有的表名。

思路:在hbase中通过快照方式将有数据的表迁移到线上用的phoenix表

先禁用旧表
disable 'temp:old_table'
再将旧表备份成快照
snapshot 'temp:old_table', 'tableSnapshot'
克隆快照数据到新表(注意:新表不能先建,如果已经存在会报错)
clone_snapshot 'tableSnapshot', 'temp:new_table'
查看新表数据和旧表数据是否一样(记录数)
count 'temp:old_table'
scan 'temp:old_table'
没问题后删除快照
delete_snapshot 'tableSnapshot'
删除旧表数据
drop 'temp:old_table'
再在phoenix中新建和hbase同名称的表(注意:必须先将hbase表迁移后再新建phoenix去映射,不然做聚合会报错)

CREATE TABLE IF NOT EXISTS temp:new_table (
      error_code VARCHAR NOT NULL,
      error_name VARCHAR NOT NULL,
      error_type VARCHAR NOT NULL,
      content VARCHAR NOT NULL
      CONSTRAINT my_pk PRIMARY KEY (error_code, error_name,error_type,content));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值