1.查看所有过滤器
show filters
2. 常见过滤器
过滤器用法
scan '表名', {Filter=>"过滤器(比较运算符, '比较器表达式')"}
分类 | 过滤器 | 解释 |
---|---|---|
行键过滤器 | RowFilter | 实现行键的过滤和比较 |
前缀过滤器 | PrefixFilter | 实现主键前缀过滤 |
列过滤器 | FamilyFilter | 列簇过滤器 |
QualifierFilter | 列标识过滤器,只显示对应列名的数据 | |
ColumnPrefixFilter | 列名称前缀过滤 | |
MultipleColumnPrefixFilter | 指定多个前缀对列名称过滤 | |
ColumnRangeFilter | 过滤列名称范围 | |
值过滤器 | ValueFilter | 过滤符合值条件的键值对 |
SingleColumnValueFilter | 在指定列簇和列中进行比较的值过滤器 | |
SingleColumnValueExclud | 排除匹配成功的值 |
3. 比较运算符
比较运算符 | 描述 |
---|---|
= | 等于 |
大于 | |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
!= | 不等于 |
4. 比较器
比较器 | 描述 |
---|---|
BinaryComparator | 匹配完整字节数组 |
BinaryPrefixComparator | 匹配字节数组前缀 |
BitComparator | 匹配比特位 |
NullComparator | 匹配空值 |
RegexStringComparator | 匹配正则表达式 |
SubstringComparator | 匹配子字符串 |
5. 比较器表达式
基本语法:比较器类型:比较器的值
比较器 | 表达式语言缩写 |
---|---|
BinaryComparator | binary:值 |
BinaryPrefixComparator | binaryprefix:值 |
BitComparator | bit:值 |
NullComparator | null |
RegexStringComparator | regexstring:正则表达式 |
SubstringComparator | substring:值 |
6. 实战
6.1 使用RowFilter查询订单ID的数据(主键:订单ID)
需求:查询订单ID为:02602f66-adc7-40d4-8485、订单状态以及支付方式
op:比较运算符
rowComparator:比较器
scan 'order_info', {FILTER=>"RowFilter(=,'binary:02602f66-adc7-40d4-8485')"}
6.2 使用SingleColumnValueFilter查询状态为已付款的订单
family:列簇
qualifier:列限定符(列名)
op:比较运算符
comparator:比较器
- 需求:查询订单状态为已付款的订单(单个列)
scan 'order_info', {FILTER=>"SingleColumnValueFilter('info', 'STATUS', =, 'binary:已付款')", FORMATTER=>'toString'}
- 需求:查询支付方式为1,且金额大于3000的订单(多个列)
使用AND或者OR组合多个过滤器
scan 'order_info', {FILTER=>"SingleColumnFilter('C1', 'PAYWAY', =, 'binary:1') AND SingleColumnFilter('C1', 'PAY_MONEy', >, 'binary:3000')", FORMATTER=>'toString'}