版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qinshi965273101/article/details/84996217
帮助
- help: 列出所有命令,并且把命令分组展示
- help “create”: create 命令教学使用
通用命令
- status: 查看集群当前状态
- version:查看hbase的版本信息
- whoami:查看当前用户信息
名称空间
- hbase中的名称空间用来分放表,同样的表名放到不同的名称空间就可以。
- list_namespace:列出所有名称空间
- list_namespace_tables 'hbase' : 列出名称空间‘hbase’中的所有表
- create_namespace 'test_ns':创建名称空间 ‘test_ns’
- drop_namespace 'test_ns':删除名称空间‘test_ns’,注意,‘test_ns’名称空间中不能有表
- hbase本身就具备的名称空间有两个:default(默认名称空间),hbase(hdbase自己使用,里面存储着很多重要信息)
DDL命令
针对表的操作,不指定名称空间,则默认在default名称空间下。
- list:列出所有的表
- create:创建表(若列族不指定version,则默认为1)
create 'namespace:tablename', {NAME => 'familyName', VERSIONS => 5}
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
create 't1', 'f1', 'f2', 'f3'
- disable:禁用表
- disable_all:禁用所有表
- enable:启用表
- enable_all:启用所有表
- drop:删除表 - 需要先禁用表再删除表
- exists:判断表是否存在
DML命令
- put:向表中存入数据
put 'ns1:t1', 'r1', 'c1', 'value'
put 't1', 'r1', 'c1', 'value'
put 't1', 'r1', 'c1', 'value', ts1
put 't1', 'r1', 'f1:c1','value' :若列族f1没有列c1,则会自动新增该列,并保存数据
- get - 从表中获取 某一行 或 某一个单元格的值
get 'ns1:t1', 'r1'
get 't1', 'r1'
扫描二维码关注公众号,回复:
4548445 查看本文章
get 't1', 'r1', {COLUMN => 'c1'}
get 't1', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
- scan - 扫描表
scan 'ns1:t1'
scan 't1'
scan 't1',{RAW=>true,VESIONS=>5} #RAW=>true返回所有数据 VERISONS=>5返回最近的5个版本
- delete -- 删除指定单元格的数据
delete 'ns1:t1', 'r1', 'c1', ts1
delete 't1', 'r1', 'c1', ts1
- truncate -- 摧毁并重建表 等价于 删除表中所有数据的操作 但是效率比 deleteall效率高