Part3---HBase更新删除表,使用dbeaver结合Phoenix操作

更新Hbase的数据:

01.数据准备

​ 先查看原始Hbase里面的数据情况

hbase(main):012:0> scan "Gadaite"
ROW                                        COLUMN+CELL
 001                                       column=F1:F11, timestamp=1649858571999, value=F1.F11
 001                                       column=F1:F12, timestamp=1649858578171, value=F1.F12
 001                                       column=F1:_0, timestamp=1649858592283, value=
 001                                       column=F2:F21, timestamp=1649858584519, value=F2.F21
 001                                       column=F2:F22, timestamp=1649858592283, value=F2.F22
 002                                       column=F1:F11, timestamp=1649858599071, value=G1.G11
 002                                       column=F1:F12, timestamp=1649858606288, value=G1.G12
 002                                       column=F1:_0, timestamp=1649858619587, value=
 002                                       column=F2:F21, timestamp=1649858613258, value=G2.G21
 002                                       column=F2:F22, timestamp=1649858619587, value=G2.G22
2 row(s)
Took 0.0368 seconds

02.使用phoenix在dbeaver上连接Hbase写sql操作

02.1.插入数据

​ 与标准sql的insert不同,这里是使用upsert

​ 查询结果,同时hbase shell也更新了:

UPSERT INTO "Gadaite"("rowkey",F11,F12,F21,F22) VALUES('003','B11','B1.B12','B2.B21','B2.B22');
SELECT * FROM "Gadaite" ;

image-20220413225135268

​ hbase对比发现之前数据的时间戳timestamp并没有发生变化的

hbase(main):013:0> scan "Gadaite"
ROW                                        COLUMN+CELL
 001                                       column=F1:F11, timestamp=1649858571999, value=F1.F11
 001                                       column=F1:F12, timestamp=1649858578171, value=F1.F12
 001                                       column=F1:_0, timestamp=1649858592283, value=
 001                                       column=F2:F21, timestamp=1649858584519, value=F2.F21
 001                                       column=F2:F22, timestamp=1649858592283, value=F2.F22
 002                                       column=F1:F11, timestamp=1649858599071, value=G1.G11
 002                                       column=F1:F12, timestamp=1649858606288, value=G1.G12
 002                                       column=F1:_0, timestamp=1649858619587, value=
 002                                       column=F2:F21, timestamp=1649858613258, value=G2.G21
 002                                       column=F2:F22, timestamp=1649858619587, value=G2.G22
 003                                       column=F1:F11, timestamp=1649861421663, value=B11
 003                                       column=F1:F12, timestamp=1649861421663, value=B1.B12
 003                                       column=F1:_0, timestamp=1649861421663, value=x
 003                                       column=F2:F21, timestamp=1649861421663, value=B2.B21
 003                                       column=F2:F22, timestamp=1649861421663, value=B2.B22
3 row(s)

02.2.更新数据

​ Phoenix中不存在update的语法关键字,而还是upsert ,功能上替代了Insert+update

UPSERT INTO "Gadaite" ("rowkey" ,F11) VALUES ('003','BBA');
SELECT * FROM "Gadaite" ;

​ 输出结果:

image-20220413230812514

​ 同时,hbase shell中更新过的时间戳会发生改变,该条数据未更新字段的时间戳则不会发生改变

hbase(main):015:0> scan "Gadaite"
ROW                                        COLUMN+CELL
 001                                       column=F1:F11, timestamp=1649858571999, value=F1.F11
 001                                       column=F1:F12, timestamp=1649858578171, value=F1.F12
 001                                       column=F1:_0, timestamp=1649858592283, value=
 001                                       column=F2:F21, timestamp=1649858584519, value=F2.F21
 001                                       column=F2:F22, timestamp=1649858592283, value=F2.F22
 002                                       column=F1:F11, timestamp=1649858599071, value=G1.G11
 002                                       column=F1:F12, timestamp=1649858606288, value=G1.G12
 002                                       column=F1:_0, timestamp=1649858619587, value=
 002                                       column=F2:F21, timestamp=1649858613258, value=G2.G21
 002                                       column=F2:F22, timestamp=1649858619587, value=G2.G22
 003                                       column=F1:F11, timestamp=1649862440389, value=BBA
 003                                       column=F1:F12, timestamp=1649861421663, value=B1.B12
 003                                       column=F1:_0, timestamp=1649862440389, value=x
 003                                       column=F2:F21, timestamp=1649861421663, value=B2.B21
 003                                       column=F2:F22, timestamp=1649861421663, value=B2.B22
3 row(s)
Took 0.0228 seconds

02.3.删除数据

DELETE FROM "Gadaite" WHERE "rowkey" = '001';
SELECT * FROM "Gadaite" ;

​ 输出结果:

image-20220413231317352

​ 同时hbase shell对应数据也进行删除,剩下数据的时间戳却是没有发生变化的

hbase(main):016:0> scan "Gadaite"
ROW                                        COLUMN+CELL
 002                                       column=F1:F11, timestamp=1649858599071, value=G1.G11
 002                                       column=F1:F12, timestamp=1649858606288, value=G1.G12
 002                                       column=F1:_0, timestamp=1649858619587, value=
 002                                       column=F2:F21, timestamp=1649858613258, value=G2.G21
 002                                       column=F2:F22, timestamp=1649858619587, value=G2.G22
 003                                       column=F1:F11, timestamp=1649862440389, value=BBA
 003                                       column=F1:F12, timestamp=1649861421663, value=B1.B12
 003                                       column=F1:_0, timestamp=1649862440389, value=x
 003                                       column=F2:F21, timestamp=1649861421663, value=B2.B21
 003                                       column=F2:F22, timestamp=1649861421663, value=B2.B22
2 row(s)
Took 0.0330 seconds

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值