1、hbase中的shell命令
| help | 查看命令的使用描述 | help \'命令名\' |
| whoami | 身份(root、user) | whoami |
| version | 返回hbase版本信息 | version |
| status | 返回hbase集群的状态信息 | status |
| table_help | 查看如何操作表 | table_help |
| create | 创建表 | create \'表名\', \'列族名1\', \'列族名2\', \'列族名N\' |
| alter | 修改列族 | 添加列族:alter \'表名\', NAME=>\'列族名\' 删除列族:alter \'表名\', {NAME=> \'列族名\', METHOD=> \'delete\'} |
| describe | 显示表相关的详细信息 | describe \'表名\' |
| list | 列出hbase中存在的所有表 | list |
| exists | 测试表是否存在 | exists \'表名\' |
| put | 添加或修改的表的值 | put \'表名\', \'行键\', \'列族名\', \'列值\' put \'表名\', \'行键\', \'列族名:列名\', \'列值\' |
| scan | 通过对表的扫描来获取对用的值 | scan \'表名\' 扫描某个列族:scan \'表名\',{COLUMN=>\'列族名\',FORMATTER =>\'toString\'} 扫描某个列族的某个列:scan \'表名\', {COLUMN=>\'列族名:列名\'} 查询同一个列族的多个列: scan \'表名\', {COLUMNS => [ \'列族名1:列名1\', \'列族名1:列名2\' …]} |
| get | 获取行或单元(cell)的值 | get \'表名\', \'行键\' get \'表名\', \'行键\', \'列族名\' |
| count | 统计表中行的数量 | count \'表名\' |
| incr | 增加指定表行或列的值 | incr \'表名\', \'行键\', \'列族:列名\', 步长值 |
| get_counter | 获取计数器 | get_counter \'表名\', \'行键\', \'列族:列名\' |
| delete | 删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值) | 删除列族的某个列: delete 表名\', \'行键\', \'列族名:列名\' |
| deleteall | 删除指定行的所有元素值 | deleteall \'表名\', \'行键\' |
| truncate | 重新创建指定表(清空表) | truncate \'表名\' |
| enable | 使表有效 | enable \'表名\' |
| is_enabled | 是否启用 | is_enabled \'表名\' |
| disable | 使表无效(删除表之前先禁用) | disable \'表名\' |
| is_disabled | 是否无效 | is_disabled \'表名\' |
| drop | 删除表 | drop的表必须是disable的 disable \'表名\' drop \'表名\' |
| shutdown | 关闭hbase集群(与exit不同) | shutdown |
| tools | 列出hbase所支持的工具 |
tools |
| exit | 退出hbase shell |
1、使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息。 例如:
help ‘list\'
2、查询服务器状态
status
3、查询Hbase版本:
version
4、查看所有表
list
5、创建一个表
create \'member\',\'member_id\',\'address\',\'info’
6、获得表的描述
describe \'member\'
7、添加一个列族
alter \'member\', \'id\'
8、删除一个列族
alter \'member\', {NAME => \'member_id\', METHOD => \'delete’}
9、删除列
1)通过delete命令,我们可以删除id为某个值的‘info:age’字段,接下来的get就无视了
delete \'member\',\'debugo\',\'info:age\'
get \'member\',\'debugo\',\'info:age\'
2)删除整行的值:deleteall
deleteall \'member\',\'debugo\'
get \'member\',’debugo\'
10、使用exists来检查表是否存在
exists \'member\'
11、删除表需要先将表disable。
disable \'member\'
drop \'member\'
12、在HBase shell中,我们可以通过put命令来插入数据。例如我们新创建一个表,它拥有id、address和info三个列簇,并插入一些数据。列簇下的列不需要提前创建,在需要时通过:来指定即可。
create \'member\',\'id\',\'address\',\'info\'
# 数据
put \'member\', \'debugo\',\'id\',\'11\'
put \'member\', \'debugo\',\'info:age\',\'27\'
put \'member\', \'debugo\',\'info:birthday\',\'1987-04-04\'
put \'member\', \'debugo\',\'info:industry\', \'it\'
put \'member\', \'debugo\',\'address:city\',\'beijing\'
put \'member\', \'debugo\',\'address:country\',\'china\'
put \'member\', \'Sariel\', \'id\', \'21\'
put \'member\', \'Sariel\',\'info:age\', \'26\'
put \'member\', \'Sariel\',\'info:birthday\', \'1988-05-09 \'
put \'member\', \'Sariel\',\'info:industry\', \'it\'
put \'member\', \'Sariel\',\'address:city\', \'beijing\'
put \'member\', \'Sariel\',\'address:country\', \'china\'
put \'member\', \'Elvis\', \'id\', \'22\'
put \'member\', \'Elvis\',\'info:age\', \'26\'
put \'member\', \'Elvis\',\'info:birthday\', \'1988-09-14 \'
put \'member\', \'Elvis\',\'info:industry\', \'it\'
put \'member\', \'Elvis\',\'address:city\', \'beijing\'
put \'member\', \'Elvis\',\'address:country\', \'china\'
13、查询表中有多少行:count
count \'member\'
14、get
1)获取一个id的所有数据
get \'member\', ‘Sariel\'
2)获得一个id,一个列簇(一个列)中的所有数据:
get \'member\', \'Sariel\', \'info\'
15、查询整表数据
scan \'member\'
16、扫描整个列簇
scan \'member\', {COLUMN=>\'info\'}
17、指定扫描其中的某个列:
scan \'member\', {COLUMNS=> \'info:birthday\'}