HBase shell scan 过滤器用法总结

比较器:
前面例子中的regexstring:2014-11-08.*、binary:\x00\x00\x00\x05,这都是比较器。HBase的filter有四种比较器:
(1)二进制比较器:如’binary:abc’,按字典排序跟’abc’进行比较
(2)二进制前缀比较器:如’binaryprefix:abc’,按字典顺序只跟’abc’比较前3个字符
(3)正则表达式比较器:如’regexstring:ab*yz’,按正则表达式匹配以ab开头,以yz结尾的值。这个比较器只能使用=、!=两个比较运算符。
(4)子串比较器:如’substring:abc123’,匹配以abc123开头的值。这个比较顺也只能使用=、!=两个比较运算符。

比较运算符:
HBase的filter中有7个比较运算符

1. LESS (<)

2. LESS_OR_EQUAL (<=)

3. EQUAL (=)

4. NOT_EQUAL (!=)

5. GREATER_OR_EQUAL (>=)

6. GREATER (>)

7. NO_OP (no operation)(不知道这个怎么用)

如果需要再bash直接执行查询,可以使用一下方式

echo "scan 'testByCrq', FILTER=>\"ValueFilter(=,'substring:111')\"" | hbase shell

几个例子

scan 'obd:journey', LIMIT => 10, FILTER=>"(ValueFilter(>,'binary:\x00\x00\x00\x00\x00\x00\x00\x0F') )"  

scan 'obd:journey', LIMIT => 10, FILTER=>"(ValueFilter(>,'binary:\x00\x00\x02\x81') AND ValueFilter(<,'binary:\x00\x00\x02\x82'))"

scan 'obd:journey', LIMIT => 10, FILTER=>"(RowFilter(>,'binary:\x00\x00\x02\x81') AND RowFilter(<,'binary:\x00\x00\x02\x82'))"

echo "scan 'obd:journey', FILTER=>\"(RowFilter(>,'binary:\x00\x00\x02\x81'))\"" | ./hbase shell > ~/journey.txt


echo "scan 'obd:journey', FILTER=>\"(RowFilter(=,'binaryprefix:\x00\x00\x02\x81'))\"" | ./hbase shell > ~/journey.txt


echo "scan 'obd:journey', FILTER=>\"(RowFilter(>=,'binaryprefix:\x00\x00\x02\x81\x00\x00\x00\x00\x00\x00\x00\x00'))\"" | ./hbase shell > ~/journey.txt

echo "scan 'obd:journey', FILTER=>\"(RowFilter(>=,'binaryprefix:\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00'))\"" | ./hbase shell > ~/journey.txt

scan 'obd:journey', FILTER=>"(RowFilter(>,'binary:\x00\x00\x02\x81\x00\x00\x00\x00\x00\x00\x00\x00'))"


echo "scan 'obd:journey', FILTER=>\"(RowFilter(>,'binaryprefix:\x00\x00\x02\x81\x00\x00\x00\x00\x00\x00\x00\x00') AND RowFilter(<,'binaryprefix:\x00\x00\x02\x82\x00\x00\x00\x00\x00\x00\x00\x00'))\"" | ./hbase shell > ~/journey.txt

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值