每日博客10

HBase学习3(增删改查)

1.启动hbase shell

HBase的shell其实就是JRubyIRB(交互式Ruby),但在其中添加了一些HBase的命令。

输入: hbase shell

2.创建表

语法:create '表名','列蔟名'...

例如:创建订单表,表名为ORDER_INFO,该表有一个列蔟为C1

create 'ORDER_INFO','C1'

3.添加数据

HBase中的put命令,可以用来将数据保存到表中。但put一次只能保存一个列的值。以下是put的语法结构:(需要注意是单引号)

put '表名','ROWKEY','列蔟名:列名','值'

例子:

复制代码
复制代码
put 'ORDER_INFO','000001','C1:STATUS','已提交'
put 'ORDER_INFO','000001','C1:PAY_MONEY','4070'
put 'ORDER_INFO','000001','C1:PAYWAY','1'
put 'ORDER_INFO','000001','C1:USER_ID','4944191'
put 'ORDER_INFO','000001','C1:OPERATION_DATE','2020-04-25 12:09:16'
put 'ORDER_INFO','000001','C1:CATEGORY','手机'
复制代码
复制代码

4.查看数据

在HBase中,可以使用get命令来获取单独的一行数据。语法:

(需要注意是单引号)

get '表名','rowkey'

要求将rowkey为:000001对应的数据查询出来。

get 'ORDER_INFO','000001'

中文显示问题:

在HBase shell中,如果在数据中出现了一些中文,默认HBase shell中显示出来的是十六进制编码。要想将这些编码显示为中文,我们需要在get命令后添加一个属性:{FORMATTER => 'toString'}  

在Ruby中用{}表示一个字典,类似于hashtable,FORMATTER表示key、’toString’表示值

get 'ORDER_INFO','000001', {FORMATTER => 'toString'}

6.更新表

在HBase中,也是使用put命令来进行数据的更新,语法与之前的添加数据一模一样。

例子:将订单ID为000001的状态,更改为「已付款」

put 'ORDER_INFO', '000001', 'C1:STATUS', '已付款'

7.删除数据

在HBase中,可以使用delete命令来将一个单元格的数据删除。语法格式如下:

delete '表名', 'rowkey', '列蔟:列'

注意:此处HBase默认会保存多个时间戳的版本数据,所以这里的delete删除的是最新版本的列数据。

删除指定的列需要注意:
1.如果表中的某一列有多次修改,它会删除最近的一次修改。
2.HBase不会真正删除,只是给某个列设置标志,查询的时候有这个标志的就不会显示出来。
专门执行删除数据的操作是后台教程,当超过缓存或者卡顿等情况就会进行删除数据。
# 删除指定的列(HBase不会真正删除)
delete 'ORDER_INFO','000001','C1:STATUS'
# 删除整行数据(删除id为000001的数据) deleteall 'ORDER_INFO','000001'

8.删除表,在删除表之前需要先禁用表

禁用表:语法:disable '表名'

删除表:语法:drop '表名'

posted @   意い十三章  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示