命令行中执行
hbase shell
执行help,显示所有命令
我们来学习第一组命令
COMMAND GROUPS:
Group name: general
Commands: processlist, status, table_help, version, whoami
processlist
如果不会用这个命令使用
help 'processlist'
命令 | 解释 |
processlist | 查看当前HBase在执行的任务 |
status | 查看HBase的运行状态 |
version | 查看HBase的版本 |
whoami | 查看HBase的当前用户 |
命令执行结果如下:
help create命令
建表
create 'userinfo', {NAME => 'basic'},{NAME => 'info'},{NAME => 'other'}
或者简单写法
create 'userinfo1', 'basic', 'info', 'other'
表示建立一个person表,包含3个列族:basic,info,other
添加数据
注意u1为行键,在userinfo表中添加一个行键为u1的数据,向basic列族的name列中添加wjm数据
append 'userinfo','u1','basic:name','wjm'
append 'userinfo1','r1','basic:name','wjm1'
append 'userinfo','u1','basic:age',30
append 'userinfo','u1','basic:sex','man'
如下图
append 'userinfo','u1','info:height',175
append 'userinfo','u1','other:address','taiyuan'
append 'userinfo','p2','info:weight',70.5
append 'userinfo','p2','basic:guoji','china'
从上看出HBase能够存储稀疏类型的数据(有的列有有的列没有),能存储结构化,半结构华数据
查询数据
get 'userinfo','u1' 获取指定行键指定列族的数据
获取指定行键多列族的数据
get 'userinfo' , 'u1', {COLUMN => 'basic' }
或者
get 'userinfo', 'u1', 'basic'
get 'userinfo', 'p1', {COLUMN => 'basic:name'}
或者
get 'userinfo', 'p1', 'basic:name'
我们会发现上面的get语句相当于select * from where.
因为get 不能整表,所以提供了scan语法,可以得到所有数据
我们可以看到查出了所有数据
scan 'userinfo', {COLUMNS => 'basic'} 获取指定列族的数据
获取多列族的数据
scan 'userinfo', {COLUMNS => ['basic', 'info']}
获取多个列的数据
scan 'userinfo', {COLUMNS => ['basic:name', 'other:address']}
修改数据
put 'userinfo', 'p1', 'basic:age', 20 | 修改数据,还可以增加数据 |
如果age1不存在直接添加了一列,看第二行
put 'userinfo', 'p1', 'basic:age1', 20 | 修改数据,还可以增加数据 |
删除数据
删除指定行键指定列族的指定列
delete 'userinfo', 'u1', 'other:address' 或者 deleteall 'userinfo', 'p1', 'basic:age1' | 删除指定行键指定列族的指定列 |
可以看到完成了删除
deleteall 'userinfo', 'p1',可以看到把p1行键的数据全删除了