HBase Shell 基本操作
---------------------------------------------------------------------------------------------------
1、连接 HBase
hbase shell # 命令
hbase(main):001:0> # 提示符
2、查看帮助
help # 直接回车便可显示相应的帮助信息
3、创建表
create 'test', 'cf' # 创建表时,你需要指定表名与列族名(ColumnFamily name)
例中的'test'是表名,'cf'是列族名
表名与列族名都要用引号(单双都行),因为HBase操作的都字符串
4、列出表信息
list 'test' # 列出表的摘要信息
describe 'test' # 列出表的详细信息,表的结构
5、写入数据到表中
put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
在这里,我们插入三个值,一次一个。
第一个插入在第1行,列cf:a,值为value1。
在 HBase中的列首先是列族前缀,在本例中是cf,然后是冒号,再然后是列限定符后缀,在本例中是a
6、一次扫描表中的所有数据
scan 'test' # 从Hbase获取数据的方法之一是扫描。使用扫描命令扫描表以获取数据,您可以限制扫描,但这里所有数据都被获取
7、获取单行数据
get 'test', 'row1' # 要一次获取一行数据,请使用get命令
8、禁用(关闭)表
disable 'test' # 如果要删除表或更改其设置,以及在其他情况下,则需要首先使用禁用命令禁用表。您可以使用Enable命令重新启用它
9、删除表
drop 'test' # 使用drop命令删除表,删除表前要先disable
10、退出HBase Shell
quit # 若要退出hbase shell并断开与集群的连接,请使用“quit”命令,而hbase仍在后台运行。
11、停止HBase
stop-hbase.sh # 发出命令后,进程较长才能关闭,使用jps确保HMaster和HRegionServer进程已关闭
12、更新指定字段的数据(操作与插入数据一样,但不是覆盖原数据,而是以不同版本存在)
put 'test', 'row1', 'cf:a', 'Nick'
put 'test', 'row1', 'cf:b', '100'
13、变更信息
alter 'test',{NAME=>'cf',VERSIONS=>3} # 将cf列族中的数据存放3个版本,当然这里设置成几,在查看时就最多可以查看到几个版本
get 'test','row1',{NAME=>'cf:name',VERSIONS=>3} # 获取3个版本的数据,当然这里设置成几,就最多能获取到几个版本的数据
注:到底到获取到几个版本的数据,是由三个因素共同决定的:一是数据修改的次数、二是设置存放的版本数、三是想查看的版本数(取最小值)
14、统计表数据行数
count 'test'
15、删除表中数据
deleteall 'test', 'row1' # 删除某rowkey的全部数据
delete 'test', 'row2', 'cf:b' # 删除某rowkey的某一列数据
16、清空表数据
truncate 'test' # 清空表数据前要先disable,然后才truncate