HBase Shell命令简介
本节介绍常用的HBase Shell命令。
- 启动HBase shell。
进入HBase目录下执行如下命令,进入HBase shell。
./bin/hbase shell
- 获取帮助。
在HBase shell执行“help”命令,将会返回所有命令信息,以及基本命令的说明和使用方法。
hbase(main):001:0> help
- 创建表。
执行“create”命令创建一张表,创建表时必须指定表的名称和ColumnFamily名称。
hbase(main):007:0> create 'cloudtable','cf' 0 row(s) in 1.5530 seconds => Hbase::Table - cloudtable
- 查询表。
hbase(main):009:0> list TABLE cloudtable 1 row(s) in 0.0060 seconds => ["cloudtable"]
- 插入记录。
执行“put”命令往指定表插入一条记录,需要指定表的名称,主键,自定义列,以及插入的具体值。
hbase(main):004:0> put 'cloudtable','row1','cf:a','value1' 0 row(s) in 0.2720 seconds
命令中各参数分别代表如下含义:
- cloudtable:表的名称
- row1:主键
- cf:a:自定义的列
- value1:插入的值
- 扫描记录。
执行“scan”命令扫描表,扫描时需要指定表的名称,即可以全表扫描,也可以指定范围扫描。
hbase(main):001:0> scan 'cloudtable' ROW COLUMN+CELL row1 column=cf:a, timestamp=1504866237162, value=value1 1 row(s) in 0.2420 seconds
- 如果插入数据时,设置了CELL的TTL,TTL属性不支持查看,但是可以通过验证设置的TTL是否生效来确认。
- 如果插入数据时未设置CELL的TTL,此时系统会自动插入当前时间为时间戳。
- 查询单条记录。
执行“get”命令查询单条记录,必须指定查询表的名称和主键。
hbase(main):001:0> get 'cloudtable','row1' COLUMN CELL cf:a timestamp=1504866237162, value=value1 1 row(s) in 0.2280 seconds
- 禁用表。
如果需要修改表,比如删除表,修改表的设置,需要先对表进行禁用。执行“disable”命令禁用表。在禁用表时执行操作会报ERROR,并提示表被禁用。
hbase(main):002:0> disable 'cloudtable' 0 row(s) in 2.3550 seconds
- 使能表。
与禁用表相对应的,在禁用表后,如果需要使用表,就需要执行“enable”命令使能表。
hbase(main):004:0> enable 'cloudtable' 0 row(s) in 1.2500 seconds
- 删除表。
当不再需要表时,可以执行“drop”命令删除表。删除表之前需要禁用表,不然会报ERROR,并提示表被使能。删除表将会导致数据丢失,请谨慎操作。
hbase(main):007:0> disable 'cloudtable' 0 row(s) in 2.2380 seconds hbase(main):008:0> drop 'cloudtable' 0 row(s) in 1.2600 seconds
- 退出HBase shell。
hbase(main):009:0> quit