0
点赞
收藏
分享

微信扫一扫

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

五殳师兄 2022-04-17 阅读 60

更新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 条评论