HBase Shell整理

简单整理了下HBase Shell的常见命令。

version

查看HBase版本。

status

查看HBase集群的状态。

create

创建表。建表时需要指定表名及列族的名称。

list

列出HBase中创建的所有表的信息。在当前的HBase中创建了两个表,分别是test和test2。

describe

查看某个表的表结构。使用时表名需要用括号括起来。

这个命令也可以使用简写的“desc”来代替。

disable和enable

用来启用禁用表。通常和表结构调整命令或者删除命令一起使用。

is_disabled和is_enabled

用来查看是否已经禁用或启用表。

put

向表里写数据,格式是:put ‘表名’, ‘行键’, ‘列族:限定符’, ‘值’。

get

从表中取一行数据,格式是:get ‘表名’, ‘行键’。

结合上面的put命令,我们可以看出hbase数据更新的方式就是向表里put新的记录。

scan

扫描全表。查看表里的全部数据。

alter

用来调整表结构。

执行前先看一下目标表test2的结构:

表中目前只有一个列族“cf2”,使用如下命令来新增列族“cf1”:

执行结果如下:

使用如下命令来删除列族“cf2”:

执行结果如下:

使用如下命令改变列族“cf1”单元数目:

执行结果如下:

count

查看表中有多少条记录,格式是:count  ‘表名’:

delete

删除指定行键和列族的命令。hbase的删除并不是立刻删除,而是将要删除的记录标记为可以删除,而后在下一次region合并分裂时将标记为删除的记录删除。

命令格式为:delete ‘表名’, ‘行键名’, ‘列族名’, [时间戳]。

执行结果:

可以看到虽然执行了删除命令,但是记录没有被立即删除掉。

deleteall

删除整行数据的命令。

删除命令格式:deleteall ‘表名’,  ‘行键名’。

执行示例如下:

truncate

删除表中的全部记录。命令格式:truncate ‘表名’。

执行示例如下:

在执行过程中看到truncate表前不需要执行disable命令,truncate命令在执行前就自动执行disable了。

exists

检查表是否存在。命令格式如下:exists ‘表名’。

执行示例如下:

drop

删除表的命令。命令格式:drop ‘表名’。

drop前需要先disable。

执行实例:

更新(update)

hbase没有提供更新命令。hbase的更新是通过put新的数据覆盖旧的数据来完成的。

hbase是通过行键、列族、时间戳这三个维度来作为数据的唯一性的标准的。所以要更新数据只需要put一条这个维度都一致的数据即可。

参考文档

HBase的数据的update:  http://punishzhou.iteye.com/blog/1266341

######################


发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据