HBase操作命令

进入命令环境

启动HDFS和HBase进程;终端输入“hbase shell"命令进入shell环境,输入"help",可以查看HBase支持的所有Shell命令。


常用命令

常用的数据定义语言(DDL)和数据操作语言(DML)命令。

1、create:创建表

(1)创建表t1,列族为f1,列族版本号为5,命令如下:

hbase>create 't1',{NAME => 'f1', VERSIONS => 5}

(2)创建表t1, 3个列族分别为f1、f2、f3,命令如下:

hbase>create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

或者使用如下等价的命令:

hbase>create 't1', 'f1','f2','f3'

(3)创建表t1,将表依据分测算法HexStringSplit分布在15个Region里,命令如下:

hbase>create 't1','f1',{ NUMREGIONS => 15,SPLITALGO =>'HexStringSplit'}

2、list: 列出 HBase中所有的表信息

该命令比较简单,这里不做具体说明。

3、put: 向表、行、列指定的单元格添加数据

向表t1中行row1和列f1:c1所对应的单元格中添加数据value1,时间戳为1421822284898

hbase>put 't1','row1','f1:c1', 'value1', 1421822284898

4、get: 通过指定表名、行、列、时间戳、时间范围和版本号来获得相应单元格的值

(1)获得表t1、行r1、列c1、时间范围为[ts1, ts2]、 版本号为4的数据,命令如下:

hbase>get 't1', 'r1', {COLUMN => 'c1', TIMERANGE => [ts1, ts2], VERSIONS => 4}

(2)获得表t1、行r1、列c1和c2的数据,命令如下:

hbase>get 't1', 'r1', 'c1', 'c2'

5、scan: 浏览表的相关信息

可以通过TIMERANGE、 FILTER、 LIMIT、 STARTROW 、STOPROW、TIMESTAMP、MAXLENGTH、COLUMNS、CACHE来限定所需要浏览的数据。

(1)浏览表".META."、列info:regioninfo的数据,命令如下:

hbase>scan '.META.', {COLUMNS => 'info:regioninfo'}

(2)浏览表t1、列c1、时间范围为[1303668804, 1303668904]的数据,命令如下:

hbase>scan 't1', {COLUMNS=> 'c1', TIMERANGE => [1303668804, 1303668904]}

6、alter:修改列族模式

(1)向表t1添加列族f1,命令如下:

hbase>alter 't1', NAME => 'f1'

(2)删除表t1中的列族f1,命令如下:

hbase>alter 't1', NAME => 'f1', METHOD => 'delete'

(3)设定表t1中列族f1最大为128MB,命令如下:

hbase>alter 't1', METHOD => 'table_att',MAX_FILESIZE => '134217728'

上面命令中,“134217728” 表示字节数,128 MB等于134217728Byte。

7、count: 统计表中的行数
比如可以使用如下命令统计表t1中的行数:

hbase>count 't1'

8、describe: 显示表的相关信息
比如可以使用如下命令显示表t1的信息:

hbase>describe 't1'

9、enable/disable:使表有效成无效

该命令比较简单,这里不做具体说明

10、delete: 删除指定单元格的数据

删除表t1、行r1、列c1、时间戳为ts1的数据,命令如下:

hbase>delete 'tl', 'r1', 'c1', ts1

11、drop: 删除表

该命令比较简单,这里不做具体说明。需要指出的是,删除某个表之前,必须先使该表无效。

12、exists: 判断表是否存在

该命令比较简单,这里不做具体说明。

13、truncate: 使表无效,删除该表,然后重新建立表

该命令比较简单,这里不做具体说明。

14、exit: 退出HBase Shell

该命令比较简单,这里不做具体说明。

15、shutdown: 关闭HBase集群

该命令比较简单,这里不做具体说明。

16、version: 输出HBase版本信息

该命令比较简单,这里不做具体说明。

17、status: 输出HBase集群状态信息

可以通过summary、simple 或者detailed这3个参数指定输出信息的详细程度。输出集群详细状态信息,命令如下:

hbase>status 'detailed'

其他命令可以用help命令来获取该命令的作用及具体用法,比如使用" help create"命令来查询create的使用方法。