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的使用方法。