当前位置: 首页 > 知识库问答 >
问题:

HBASE-如何在HBASE中使用SingleColumnValueFilter应用“like”过滤器操作?

艾安和
2023-03-14
'2018-10-15=33|2018-10-16=56'
WHERE COLUMN_X LIKE '%2018-10-15%'

org.apache.hadoop.hbase.filter.compareFilter.compareop.like

请帮忙。

共有1个答案

罗翔
2023-03-14

可以将SubstringComparator与ValueFilter一起使用。

即。

scan 'yourtable', { COLUMNS => 'cf:COLUMN_X ', FILTER => "ValueFilter(=, 'substring:2018-10-15')"}

如果您想用Java实现它,可以使用以下方法:

SubstringComparator comp = new SubstringComparator("2018-10-15");   

SingleColumnValueFilter filter = new SingleColumnValueFilter(
    Bytes.toBytes("cf"),
    Bytes.toBytes("column_X"),
    CompareOp.EQUAL,
    comp
    );
scan.setFilter(filter);
 类似资料:
  • 一、HBase过滤器简介 Hbase 提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predicate push down)。这样可以保证过滤掉的数据不会被传送到客户端,从而减轻网络传输和客户端处理的压力。 二、过滤器基础 2.1 Filter接口和FilterBase抽象类 Filter 接口

  • 问题内容: 我正在尝试使用两个SingleColumnValueFilter对象从HBase表中过滤行,以带回属于该列的长值范围内的所有记录。根据SingleColumnValueFilter的文档,除非您将其传递给自己的比较器,否则它将对列值进行字典比较。该API显示了SingleColumnValueFilter,其中采用WritableByteArrayComparable作为实现此目的的方

  • 主要内容:1.基本操作,2.表操作,3.数据操作1.基本操作 操作比较少相对于Mysql来说 2.表操作 删除表的时候需要先停用表。 disable ‘users_tmp’ 然后才可以删除 exist ‘users_tmp’ 为表是否存在 is disable ‘users_tmp’ 为是否没有用表 is enbale ‘users_tmp’ 为是否用表 3.数据操作 3.1 添加和获得记录 put和get Mysql为insert和selec

  • 我的Hbase表有一列,其中包含键值对数组。

  • 我在使用Apache HBase构建时遇到以下错误。我正在运行下面的邮件 项目ID:null:akuma:jar:1.9 原因:找不到项目的父级:org.kohsuke:pom:null:akuma:jar:1.9项目的父级:null:akuma:jar:1.9 [INFO]--------------------------------------------------------------