码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop之hbase基本操作

时间:2018-01-09 18:38:30      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:命令行   pos   用户   new   unset   key   多个   delete   enable   

hbase shell 进入hbase命令行
list 显示HBASE表
status 系统上运行的服务器的细节和系统的状态
version 返回HBase系统使用的版本
table_help 引导如何使用表引用的命令
whoami 返回当前HBase用户
# 建表
create base_test,personal data,professional data
disable emp 禁用表 enable可以重新启用
is_disabled table name 查看表是否被禁用
disable_all r.* 禁用一系列表
describe emp 表描述
alter t1, NAME => f1, VERSIONS => 5  单元的最大数目设置为5
# 使用alter,可以设置和删除表范围,运算符,如MAX_FILESIZE,READONLY,MEMSTORE_FLUSHSIZE,DEFERRED_LOG_FLUSH等。
alter emp, READONLY 设置表为只读
alter t1, METHOD => table_att_unset, NAME => MAX_FILESIZE
alter table name, delete=> column family
# 删除列簇
alter employee,delete=>professional 
exists emp 判断表是否存在
drop emp 删除表,删除表之前必须先禁用表
drop_all t.*  批量删除
put emp,1,personal data:name,raju 插入数据
put emp,1,personal data:city,hyderabad
put emp,1,personal data:city,Delhi 更新row=1,personal data=city数据的值为Delhi
get emp, 1 查询数据 
get emp, 1, {COLUMN=>personal data:name} 查询指定行、指定列
delete emp, 1, personal data:city  删除数据
deleteall emp,1 删除所有数据
count emp 统计表的行数
truncate table name 禁止删除并重新创建一个表
grant <user> <permissions> [<table> [<column family> [<column; qualifier>]] 
R - 代表读取权限
W - 代表写权限
X - 代表执行权限
C - 代表创建权限
A - 代表管理权限
grant Tutorialspoint, RWXCA 
revoke命令用于撤销用户访问表的权限
revoke Tutorialspoint
user_permission emp 列出了emp表的所有用户权限。

# 新增列簇要先声明
disable emp
alter emp, NAME => daily, VERSIONS =>1
enable emp
# 为新列簇加入数据
put emp,2017-11-30,module:headline,375683
put emp,2017-11-30,module:community,101464
put emp,2017-11-30,module:car,443372
put emp,2017-11-30,module:service,43633
put emp,2017-11-30,module:my,90770
put emp,2017-12-01,module:headline,369003
put emp,2017-12-01,module:community,103500
put emp,2017-12-01,module:car,437643
put emp,2017-12-01,module:service,41259
put emp,2017-12-01,module:my,91521

# 查询数据——通过rowkey
get emp,2017-12-01

# 查询数据——通过rowkey+columnkey
get emp,2017-12-01,{COLUMN => basic:active}
get emp,2017-12-01,basic:login
get emp,2017-12-01,{COLUMN => basic:active, TIMESTAMP => 1513218051477}
get emp,2017-12-01,{COLUMN => basic:active, TIMESTAMP => 1513218051477,VERSIONS => 1}
# 查询数据——通过rowkey+多个columnkey
get emp,2017-12-01,{COLUMN =>[‘basic:active‘,‘basic:newadd‘]}

# 查询数据——通过rowkey+family
get emp,2017-12-01,basic

# 查询行数
count emp
# 删除正行
deleteall emp,row1

# 按columkey查询
scan emp,{COLUMN => basic:active}
scan emp,{COLUMN => [‘basic:active‘,‘basic:newadd‘],LIMIT => 2}

# rowkey模糊查询
scan emp,{FILTER=>org.apache.hadoop.hbase.filter.PrefixFilter.new(org.apache.hadoop.hbase.util.Bytes.toBytes(2017-12))}

# 通过时间戳查询
scan emp,{TIMERANGE =>[1513218313453,1513218314019]}
# rowkey模糊查询——前缀过滤
scan emp,{ FILTER => "PrefixFilter (2017-11)"}
# 查询rowkey中包含12-0的
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.filter.RowFilter
scan emp, {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf(EQUAL), SubstringComparator.new(12-0))}
# 查询rowkey 从2017-12-01开始,到2017-12-04截止,包含前不包含后
scan emp, {STARTROW=>2017-12-01, STOPROW=>2017-12-04}
# 查询columnkey中前缀是lo
scan emp, FILTER=>"ColumnPrefixFilter(lo)"
# 查询value中包含57的
scan emp, FILTER=>"ValueFilter(=,substring:57)"

# 计数器
incr emp, 2017-12-01, daily:hits, 1
incr emp, 2017-12-01, daily:hits
# 获取计数器
get_counter emp, 2017-12-01, daily:hits

 

hadoop之hbase基本操作

标签:命令行   pos   用户   new   unset   key   多个   delete   enable   

原文地址:https://www.cnblogs.com/wangbin2188/p/8252630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!