每日博客10
HBase学习3(增删改查)
1.启动hbase shell
HBase的shell其实就是JRuby的IRB(交互式Ruby),但在其中添加了一些HBase的命令。
输入: hbase shell
2.创建表
语法: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对应的数据查询出来。
中文显示问题:
在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'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署