HBase 命令行客户端过滤器

HBase 命令行客户端过滤器、

在 HBase 中,get 和 scan 命令都可以使用过滤器来设置输出的范围,类似 SQL 里的 Where 查询条件。

show_filter 命令(查看 HBase 支持的过滤器类型)
hbase(main):016:0> show_filters

### 行键 rowkey 过滤器
RowFilter #行键 rowkey 过滤器
KeyOnlyFilter # 只对单元格的键进行过滤和显示,不显示值
PrefixFilter # 行键 rowkey前缀比较器,比较行键前缀
InclusiveStopFilter # 替代 ENDROW 返回终止条件行
FirstKeyOnlyFilter # 只扫描显示相同键的第一个单元格,其键值对会显示出来(第一个版本)

### 列族与列过滤器
FamilyFilter # 列族过滤器
QualifierFilter # 列标识过滤器,只显示对应列名的数据
ColumnPrefixFilter # 对列名称的前缀进行过滤
MultipleColumnPrefixFilter # 可以指定多个前缀对列名称过滤
ColumnRangeFilter # 过滤列名称的范围

### 值过滤器
ValueFilter # 值过滤器,找到符合值条件的键值对
SingleColumnValueFilter # 在指定的列族和列中进行比较的值过滤器
SingleColumnValueExcludeFilter # 排除匹配成功的值

### 其他过滤器
DependentColumnFilter # 是一种允许用户指定一个参考列或引用列来过滤其他列的过滤器,过滤的原则是基于参考列的时间戳来进行筛选 
TimestampsFilter # 时间戳过滤,支持等值,可以设置多个时间戳
ColumnCountGetFilter # 限制每个逻辑行返回键值对的个数,在 get 方法中使用
PageFilter # 对显示结果按行进行分页显示
ColumnPaginationFilter #对一行的所有列分页,只返回 [offset,offset+limit] 范围内的列
过滤器语法

使用过滤器的语法格式:

scan '表名', { Filter => "过滤器(比较运算符, '比较器') }

在上述语法中,Filter=> 指明过滤的方法,整体可用大括号引用,也可以不用大括号。过滤的方法用双引号引用,而比较方式用小括号引用。

  • 比较运算符

    比较运算符 描述
    = 等于
    > 大于
    >= 大于等于
    < 小于
    <= 小于等于
    != 不等于
  • 比较器

    比较器 描述
    BinaryComparator 匹配完整字节数组
    BinaryPrefixComparator 匹配字节数组前缀
    BitComparator 匹配比特位
    NullComparator 匹配空值
    RegexStringComparator 匹配正则表达式
    SubstringComparator 匹配子字符串
posted @ 2022-01-13 19:12  追こするれい的人  阅读(288)  评论(0编辑  收藏  举报