文章目录
scan
- 根据行号查询 STARTROW, ENDROW
语法: scan [table], {STARTROW=>'row'}
hbase(main):078:0> scan 'test' ,{STARTROW=>'row2'}
hbase(main):077:0> scan 'test' ,{ENDROW=>'row2'}
- 全表查
语法: scan [table]
- 查找指定行
语法:scan [table], {COLUMNS=>['CF:column1','CF:column2']}
get
语法:get [table], [row], [CF:column]
示例:
hbase(main):081:0* get 'test', 'row1','cf:name'
hbase(main):082:0> get 'test', 'row1'
delete
hbase 一行中的列是离散分布的; 单元格是hbase 最小纬度定义
删除单元格
语法: delete [table], [row], [cf:column]
删除行
语法:
deleteall [table], [row]
disable 表
hbase 表示不可以说删除就删除的, 因为有可能有很多的客户端正在使用,或者是hbase正在做合并或者是分裂操作.
如果删除了表就造成了无法恢复的错误, 所以在删除之前需要对表进行disable,停用下线
disable [table]
判断是否停用: is_disabled [table]
drop
删除表,再删除之前需要disable
drop [table]
status
语法: status [参数]
查看集群状态, 有三种可选参数
- simple
- summary (默认)
- detailed
version
查看当前版本
whoami
查看当前登录用户
list
查询所有的表,支持通配符
list '[]*'
alter
建立/修改列族
传入新的列族名称,就是创建,传入已存在的列族名称,就是修改列族属性
语法: alter [table], NAME=>[CF], [ATTR]=>[value]
示例:
修改列族,支持的最大版本数量
# 修改前
hbase(main):030:0* desc 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', VERSIONS => '5'
# 修改
hbase(main):033:0* alter 'test', NAME=>'cf', VERSIONS=>10
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.2514 seconds
# 验证
hbase(main):036:0* desc 'test'
Table test is ENABLED
test
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf', VERSIONS => '10',
建立/修改多个列族
语法: alter [table], {NAME=>'列族1', 属性名1=>属性值1,,..}, {NAME=>'列族2', 属性名1=>属性值1}
# 创建两个列族,最大版数量分别是 3,4
hbase(main):033:0* alter 'test', {NAME=>'cf3',VERSIONS=>3}, {NAME=>'cf4', VERSIONS=>4}
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.5052 seconds
hbase(main):062:0> desc 'test'
删除列族
列族删除:
语法: alter '表名', 'delete'=>'列族名'
示例:
hbase(main):066:0* alter 'test', 'delete'=>'cf4'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.4025 seconds
修改表级别属性
//TODO
设置表配置
//TODO
删除表级别属性
//TODO
create
- 创建表,创建表的同时可以修改表的属性
语法:
create '表名', {NAME=>'列族名1', 属性名1=>属性值1}, {NAME=>'列族名2', 属性名1=>属性值1}
示例:
hbase(main):070:0* create 'test1',{NAME=>'cf', VERSIONS=>3},{NAME=>'cf1', VERSIONS=>3},{NAME=>'cf2', VERSIONS=>4}
Created table test1
Took 1.3587 seconds
=> Hbase::Table - test1
- 创建表,不指定列族属性
语法:
create '表名','列族1','列族2'..
describe
输出表的描述信息
describe [table]
或者
desc [table]
alter_status
查看表的各个region的更新情况,这条命令在异步更新表的时候,用来查看更改
命令执行的情况,判断该命令是否执行完毕
语法:
alter_status '表名'
示例:
alter_status 'test1'
1/1 regions updated.
Done.
Took 1.0209 seconds
alter_async
异步更新表。使用这个命令不需要等待表的全表region更新完成就返回.
语法:
alter_aynch '表名', 参数列表
示例:
alter_async 'test1', NAME=>'cf', VERSIONS=>5
Took 1.1535 seconds