Hbase我们在日常操作中是依赖phoniex(工具名字可能打错了不要介意)执行的关系型数据库的sql,但是其实Hbase本身有自己的sql下面我们就来看看怎么操作的吧
create '表名','列族名'[多个列族用逗号相隔]
用来创建表,创建的时候一般不定义列族中的列,定义列也没有用,没有数据,列无意义,而且后期操作数据时列可以随着数据增加或者减少,多个列族名在后面用逗号拼接
put ‘表名’ , ’行号’ , ’列族:列命’ , ’值’
用来修改与添加数据,没存在的列名会自动增加,Hbase列名的开放性很大,大到不同行的列名甚至可以不一样,但是我们一般不怎么做,同时只能一个一个的添加,没有办法一次添加多个数据
scan ‘表名’
用来查看整张表的数据,但是正式使用的时候要在后面跟上{STARTROW=>’行号’ ,STOPROW=>’行号’},来限制查询的条数,如有需要可以,再跟上{RAW=>TRUE , VERSION=> 版本},查看当前所有存在过的数据,这种用法版本号可以随意写,只要符合需求就可以,版本号指定的很高,也不报错,只会展示到最后一个版本的数据,但是前提是数据没有刷新到hdfs中,因为hbase数据操作的时候是在内存中操作,之后刷新才会保存,分为自动、手动刷新
get ‘表名’,’行号’
查看一个表中的一行数据,也可以在用逗号指定到列,想要查该行中多个列在后面多个逗号拼接’列族:列名’
就可以了
desc ‘表名’
查看表结构,可以看到很多其他的消息
count ‘表名’
查看一个表中有多少条数据
deleteall ‘表名’ , ’行号’
用以删除一行的所有数据
delete ‘表名’ , ’行号’ , ’列族:列’
删除一行数据中的某个列数据只能删除一个,也可以不写列直接把列族删掉
truncate ‘表名’
清空表
disable ‘表名’
停用表,常用在删除表之前将表停用
drop ‘表名’
删除一张已经停用的表
enable ‘表名’
启用一张被停用的表
alter '表名',{NAME=>'info',VERSIONS=>版本号}
用来修改一个表中一个列族的版本行,一般不用,因为刷新数据之后就没有历史版本了
list
查看所有的表
alter ‘表名’ , ’列族名’
用来增加列族
alter ‘表名’ , NAME=>’列族名’ , METHOD=>’操作’
对列族进行操作,常用来做delete删除列族操作,删除列族也可以写为alter ’表名’ , ‘delete’=>’列族’
flush
手动刷洗当前所有的数据保存