1.启动hbase shell
HBase的shell其实就是JRuby的IRB(交互式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 '表名'
标签:INFO,000001,改查,put,增删,HBase,C1,ORDER From: https://www.cnblogs.com/hmy22466/p/17694658.html