hbase自带的filter已经很多了,按照RK,CF,CQ过滤的都有
我最常用的PrefixFilter,按照rk前缀
RowFilter,按照rk比较
ColumnPrefixFilter,按照cq前缀
QualifierFilter,按照cq比较
hbase还有一堆WritableByteArrayComparable,可以满足各种比较
比如RegexStringComparator可以使用正则
但是在实际业务中,因为需求对数据要求是多样,对维度的,且数据是冗余,残缺,不可靠,不能枚举的。
所以自定义的Filter还是有用的,而且选择正确的方法继承,查询效率也可以很高
自定义filter继承的接口Filter,或是FilterBase
以下是重写的方法:
filterRowKey根据RK决定行是否被过滤,ex Profix |
filterKeyValue根据KV决定行或列(ReturnCode)是否被过滤, ex ColumnProfix ColumnCompare |
filterRow(keyvalues)根据制定列值决定行是否过滤, ex DependentColumnFilter |
filterRow在之前Filter结束后,进行过滤,ex PageFilter |
reset当一行读完,为了读下一行,清空当前行数据 |
filterAllRemainning当返回true,停止scan |
为了提高自定义filter的执行效率,需要知道过滤器的执行流程图
注意:
在编写完custom filter后,需要添加jar到hbase lib下
并且每个custom filter必须有默认的构造函数
相关推荐
【标题】"tools4j-config-provider-hbase-filter-0.12.2.zip" 提供的是一个名为 tools4j-config-provider-hbase-filter 的开源项目,版本号为 0.12.2。这个项目通常涉及到配置管理以及针对 HBase 数据库的过滤功能。...
### HBase Shell 常用命令详解 #### 一、HBase Shell 概述 HBase Shell 是一个基于命令行的工具,用于与HBase进行交互。它提供了一系列丰富的命令来执行基本的数据管理任务,例如创建表、插入数据、查询数据等。...
在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...
"基于SpringBoot集成HBase过程解析" SpringBoot集成HBase是当前大数据处理和存储解决方案中的一种常见组合。HBase是基于Hadoop的分布式、可扩展的NoSQL数据库,能够存储大量的结构化和非结构化数据。SpringBoot则...
import org.apache.hadoop.hbase.filter.FilterList; import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; import org.apache.hadoop...
HBase分页查询实现 HBase作为一个NoSQL数据库,具有高性能、...本文讲解了如何使用Java语言实现HBase的分页查询,并介绍了HBase的配置、HTablePool、获取HBase表、字节数组的转换、Filter和ResultScanner等知识点。
搭建pinpoint需要的hbase初始化脚本hbase-create.hbase
4. Bloom Filter:使用Bloom Filter可以减少不必要的磁盘I/O,提高查询性能。 5. Indexing:虽然HBase本身不支持索引,但可以通过第三方库如 phoenix 或 hbase-indexer 实现索引功能。 六、监控与维护 1. 使用...
### HBase权威指南知识点概述 #### 一、引言与背景 - **大数据时代的来临**:随着互联网技术的发展,人类社会产生了前所未为的数据量。这些数据不仅数量巨大,而且种类繁多,传统的数据库系统难以应对这样的挑战。 ...
### HBase 配置内置 ZooKeeper 的详细步骤与解析 #### 一、配置背景与目的 在 HBase 的部署环境中,ZooKeeper 起着非常重要的作用,它主要用于协调集群中的各个节点,并且管理 HBase 的元数据。通常情况下,HBase ...
HBase是一种分布式、基于列族的NoSQL数据库,它在大数据领域中扮演着重要的角色,尤其是在需要实时查询大规模数据集时。HBase以其高吞吐量、低延迟和水平扩展能力而闻名,常用于存储非结构化和半结构化数据。在HBase...
### HBase开启审计日志详解 #### 一、概述 HBase是一款分布式列式存储系统,基于Google的Bigtable论文实现。它具有高可靠性、高性能、面向列、可伸缩的特点,非常适合处理海量数据。在大数据领域,HBase被广泛用于...
HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...
HBase 自定义复制端点示例 概述 HBase 0.98.9 添加了创建自定义复制端点的功能。 这是一个关于如何创建和使用...java -cp $(hbase classpath):target/hbase-custom-replication-endpoint-example-1.0-SNAPSHOT.jar ...
### HBase学习利器:HBase实战 #### 一、HBase简介与背景 HBase是Apache Hadoop生态系统中的一个分布式、可扩展的列族数据库,它提供了类似Bigtable的能力,能够在大规模数据集上进行随机读写操作。HBase是基于...
在Windows上安装HBase 本文将指导您如何在Windows平台上安装HBase,包括配置详解。安装完成后,您将能够配置集群。 一、前提条件 在安装HBase前,需要安装Cygwin和Hadoop。这两个软件的安装不在本文的讨论范围内...
### HBase 安装与使用知识点详解 #### 概述 HBase 是一款构建于 Hadoop 之上的分布式、可扩展的大规模数据存储系统。它提供了类似 Google BigTable 的功能特性,非常适合处理海量数据和高并发读写需求的应用场景。...
这可以通过调用`org.apache.hadoop.hbase.filter.RowFilter`类的静态方法`create()`完成。例如,我们可以创建一个基于等于操作符的过滤器: ```java import org.apache.hadoop.hbase.filter.CompareFilter; import ...
hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。 动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。 insert,update支持: 建立在hbase的checkAndPut之上。 ...
HBase,全称为Hadoop Distributed File System上的基础结构(HBase on Hadoop Distributed File System),是一种分布式的、面向列的开源数据库,它构建在Apache Hadoop文件系统(HDFS)之上,提供高可靠性、高性能...