hbase3

1.获取用户对商品1001的行为
scan ‘s_behavie’ , filter => “ValueFilter(=,‘binary:1001’)”

row column+cell
12_1 column=pc:v,timestamp=1234,value=1001
12_1 column=ph:o,timestamp=1235,value=1001
//注意:ValueFilter会匹配列族下面所有的列
//假如只需要查询用户对商品的1001的下单行为数据,用SingleColumnValueFilter可以指定搜索的列限定符

2.查询用户对商品的1001的下单行为数据
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; //先引入包
scan ‘s_behavior’,{FILTER => SingleColumnValueFilter.new(Bytes.toBytes(‘ph’),Bytes.toBytes(‘o’),
CompareFilter::CompareOp.valueOf(‘EQUAL’),
BinaryComparator.new(Bytes.toBytes(‘1001’))),column=>[‘ph:o’] }

row column+cell
12_1 column=ph:o,timestamp=1234,value=1001

3.获取用户行为数据的行键
//过滤器通过括号,and,or,的条件组合支持多个过滤条件
//使用KeyOnlyFilter可以使得hbase服务端只返回数据的行键以减少传输的数据量
scan ‘s_behavior’, { FILTER=>“PrefixFilter(‘12345’)” AND KeyOnlyFilter() , limit=>3 }

row column+cell
12_1 column=pc:v,timestamp=1234,value=
12_1 column=ph:o,timestamp=1235,value=
12_2 column=pc:v,timestamp=1236,value=
12_3 column=pc:v,timestamp=1237,value=

4.删除数据
hbase提供了 delete 删除列 , deleteall 删除行 , truncate 删除表 命令
1)删除某列数据
delete ‘table’ , ‘rowkey’ , ‘列族:列标识符’ , ‘[ time stamp ]’
delete ‘s_behavior’ , ‘12_1’ , ‘ph:o’

2)删除整行数据
deleteall ‘table’ , ‘rowkey’
deleteall ‘s_behavior’ , ‘12_1’

3)删除整表数据
truncate ‘table’
truncate ‘s_behavior’

5.复制状态的查看
当hbase开启了集群复制时,使用status命令可以查看复制的状态,包括日志等
status ‘replication’

6.分区拆分
实时在线集群一般会禁用自动拆分以免影响性能,因此当StoreFile大小达到某个值后,
需要手动或者自动化程序将分区拆分
split ‘s_behavior’ , ‘5’
//将用户行为表’s_behavior’拆分为两个分区,由于行键以用户Id第一个字符取值范围为0~9,
中值为5,因而可以使用5作为拆分后两个分区的分割字符

7.分区主压缩
实时在线集群禁用主压缩,需手动
major_compact ‘s_behavior , , 151.wdcw.’

8.负载均衡开关
balance_switch true //开
balance_switch false //关

9.分区手动迁移
move ‘EncodedRegionName’ , ‘destServerName’
move ‘w21w5’ , ‘master2,16020,15130,495583232’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值