mxk123456

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\'}

分类:

技术点:

相关文章:

  • 2021-12-10
  • 2021-12-22
  • 2021-12-10
  • 2021-11-07
  • 2021-06-24
猜你喜欢
  • 2021-08-30
  • 2021-12-08
  • 2021-12-04
  • 2021-10-01
  • 2022-01-01
  • 2022-12-23
相关资源
相似解决方案