千家信息网

HBase中常用过滤器有哪些

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,小编给大家分享一下HBase中常用过滤器有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 比较过滤器(1) 比较过
千家信息网最后更新 2025年01月23日HBase中常用过滤器有哪些

小编给大家分享一下HBase中常用过滤器有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1. 比较过滤器
(1) 比较过滤器的操作符

LESS <
LESS_OR_EQUAL <=
EQUAL =
NOT_EQUAL <>
GREATER_OR_EQUAL >=
GREATER >
NO_OP 排除所有


(2) 常用比较过滤器的比较器

BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])
BinaryPrefixComparator 跟前面相同,只是比较左端的数据是否相同
NullComparator 判断给定的是否为空
BitComparator 按位比较
RegexStringComparator 提供一个正则的比较器,仅支持 EQUAL 和非EQUAL
SubstringComparator 判断提供的子串是否出现在value中


(3) 比较过滤器的实际应用
3-1) 行键过滤器 RowFilter

Filter filter = new RowFilter(CompareOp.LESS_OR_EQUAL,new BinaryComparator(Bytes.toBytes("row-22")));
scan.setFilter(filter);

Filter filter1 = new RowFilter(CompareOp.EQUAL, new SubstringComparator("-5"));
scan.setFilter(filter1);


3-2) 列族过滤器FamilyFilter

Filter filter1 = new FamilyFilter(CompareFilter.CompareOp.LESS, new BinaryComparator(Bytes.toBytes("colfam3")));
scan.setFilter(filter1);


3-3) 列过滤器QualifierFilter

filter = new QualifierFilter(CompareFilter.CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("col-2")));
scan.setFilter(filter1);


3-4) 值过滤器ValueFilter

Filter filter = new ValueFilter(CompareFilter.CompareOp.EQUAL, new SubstringComparator(".4") );
scan.setFilter(filter1);


2. 专用过滤器
(1) 前缀过滤器 PrefixFilter --针对行键

Filter fileter = new PrefixFilter(Bytes.toBytes("hello"));
scan.setFilter(fileter);


(2) 列前缀过滤器

Filter fileter = new ColumnPrefixFilter(Bytes.toBytes("hello"));
scan.setFilter(filter);


3. 正则表达式过滤(RegexStringComparator)

Scan scan = new Scan();
RegexStringComparator comp = new RegexStringComparator("you."); // 以 you 开头的字符串
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), CompareOp.EQUAL, comp);
scan.setFilter(filter);


4. SubStringComparator
用于监测一个子串是否存在于值中,并且不区分大小写。

Scan scan = new Scan();
SubstringComparator comp = new SubstringComparator("1129"); // 查找包含 1129 的字符串
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), CompareOp.EQUAL, comp);
scan.setFilter(filter);


5. 布隆过滤器 BloomFilter
简介:hbase的storefile有很多,随机查的时候可能需要遍历很多storefile,如果在建表的时候指定了bloomfilter,则在get查询(scan不管用)的时候就可以过滤掉很多不符合规则的storefile,提高查询效率。

以上是"HBase中常用过滤器有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

过滤器 常用 时候 篇文章 相同 内容 前缀 字符 字符串 字节 正则 比较器 查询 不怎么 个子 只是 大小 大部分 实际 开头 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 关系库数据库 计算机网络技术学的是什么东西 网络安全年网络安全宣讲通知 大专计算机网络技术毕业就业 小说大数据库 服务器虚拟机怎么远程管理 网络安全教育课靠谱吗 软件开发文档书写格式 华服互联网科技品牌部 联通通信网络技术是干嘛的 三叶草网络安全信息公司 老周计算机三级网络技术 网络安全手抄报最难最好看 服务器日常运维 计算机网络技术拥塞怎么意思 弱电网络技术员的培训主题 网络安全开展主要工作亮点 软件无法连接本地数据库 软件开发倒排工期模板 分布式数据库实现视频监控 数据库表格分类汇总 字节跳动网络安全部 网络安全日常生活防范 mariadb数据库迁移 检查人员名录数据库 数据库安全性实验实验心得 均衡教派服务器崩了 中安一创网络安全 服务器已打开为什么手机连不上网 未转变者逃离塔科夫服务器下载
0