#每次运行hbase shell之前一定要到进入/usr/local/Cellar/hbase/1.3.5/bin 目录下,运行./start-hbase.sh,进行启动。
在终端hbase shell
#新建表
hbase(main):049:0> create 't1',’f1'
0 row(s) in 1.2610 seconds
=> Hbase::Table - t1
#查看表结构
hbase(main):050:0> desc 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP
_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMP
RESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '6553
6', REPLICATION_SCOPE => '0'}
1 row(s) in 0.0130 seconds
#修改f1的的VERSIONS的值为3,VERSIONS为1,也就是说,默认情况只会存取一个版本的列数据,当再次插入的时候,后面的值会覆盖前面的值。
hbase(main):051:0> alter 't1',{'NAME'=>'f1',VERSIONS=>3}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 1.9170 seconds
4.查看t1结构
hbase(main):053:0> desc 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'f1', BLOOMFILTER => 'ROW', VERSIONS => '3', IN_MEMORY => 'false', KEEP
_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMP
RESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '6553
6', REPLICATION_SCOPE => '0'}
1 row(s) in 0.0220 seconds
#插入三条数据
hbase(main):054:0> put 't1','rowkey1','f1:name','haha'
0 row(s) in 0.0230 seconds
hbase(main):055:0> put 't1','rowkey1','f1:name','xy234'
0 row(s) in 0.0040 seconds
hbase(main):056:0> put 't1','rowkey1','f1:name','qiudk'
0 row(s) in 0.0030 seconds
#查看数据
hbase(main):057:0> get 't1','rowkey1','f1:name'
COLUMN CELL
f1:name timestamp=1581320608297, value=qiudk
1 row(s) in 0.0030 seconds
#查看三个版本的数据
hbase(main):058:0> get 't1','rowkey1',{COLUMN=>'f1:name',VERSIONS=>3}
COLUMN CELL
f1:name timestamp=1581320608297, value=qiudk
f1:name timestamp=1581320602481, value=xy234
f1:name timestamp=1581320595161, value=haha
1 row(s) in 0.0050 seconds
#只查看最新的两个版本
hbase(main):059:0> get 't1','rowkey1',{COLUMN=>'f1:name',VERSIONS=>2}
COLUMN CELL