首页 > linux > 在linux下操作hbase

在linux下操作hbase

作者:bin
目录
[隐藏]

这个月比较忙,一直都没有时间整理最近学习的东西,T_T

这里介绍如何使用hbase shell进行操作hbase

具体的安装、配置,可以随意在网上找到,这里不赘述

登录hbase shell

hbase shell

退出(ctrl+c)

exit

(注意在hbase shell中退格键是删除不了东西的,需要按住shift+退格删除)

一、数据表相关

创建数据表

create 'user' , 'f1', 'f2'

禁用表

disable 'user'

启动表

enable 'user'

判断表是否启动

is_enabled 'user'

添加列族

alter 'user', 'f3'

删除列族

alter 'user', 'delete' => 'f3'

删除表(需要先禁用表)

disable 'user'
drop 'user'

二、创建数据

使用put插入一条数据(重复插入,即为更新)

put 'user', '1', 'f1:name', 'zengbin'
put 'user', '1', 'f2:age', '23'

然后我们scan一下

scan 'user'

可以看到如下信息

hbase(main):009:0> scan 'user'
 ROW COLUMN+CELL
 1 column=f1:name, timestamp=1498806525565, value=zengbin
 1 column=f2:age, timestamp=1498806612464, value=23
 1 row(s) in 0.0180 seconds

三、拉取数据

使用get命令通过rowkey获取数据

get 'user', '1'

指定族和行

get 'user', '1', {COLUMN => ['f2:age']}

指定族、列、时间戳

get 'user', '1', {COLUMN => ['f2:age'], TIMESTAMP=> 1498806675621}

指定输出行的类型

转换为string类型

get 'user', '1' , {COLUMN => ['f2:age:toString']}

 

使用scan,扫描表

scan 'user'

扫描并且指定取出特定列

scan 'user', { COLUMNS=> ['f1:name'] }

扫描指定开始行和结束列

scan 'user', { COLUMNS=> ['f1:name'] , STARTROW => '1' , STOPROW => '1'}

扫描指定开始行和结束列,并且限制输出排前几的行

scan 'user', { COLUMNS=> ['f1:name'] , STARTROW => '1' , STOPROW => '1', LIMIT => 1}

倒序扫描指定开始行和结束列,并且限制输出排前几的行

注意倒序,startrow应该比stoprow大,才会有结果

scan 'user', { COLUMNS=> ['f1:name'] , STARTROW => '1' , STOPROW => '0', LIMIT => 1, REVERSED => true}

同样可以指定输出列的类型

scan 'user', { COLUMNS=> ['f2:age:toString'] , STARTROW => '1' , STOPROW => '0', LIMIT => 1, REVERSED => true}

 

四、删除数据

删除一列数据

delete 'user', '1', 'f2:age'

删除整行

deleteall 'user', '1'

删除表(需要先禁用表)

disable 'user'

drop 'user'

五、统计表

使用count进行统计表有多少行

count ‘user’

hbase shell同样支持sql中的truncate命令

truncate 'user'

truncate命令会先禁用表,然后删除表,再创建表。

六、权限相关

使用grant命令添加权限

  • R – 代表读取权限
  • W – 代表写权限
  • X – 代表执行权限
  • C – 代表创建权限
  • A – 代表管理权限

比如给www用户赋予所有权限

grant 'www', 'RWXCA'

使用revoke命令撤销用户权限

revoke 'Tutorialspoint'

查看用户权限

user_permission 'www'

您必须 [ 登录 ] 才能发表留言!