在Hbase使用过滤器(行键过滤器、列族与列过滤器、值过滤器)
本文介绍Hbase中的过滤器:
1、行键过滤器
2、列族与列过滤器
3、值过滤器
4、其他过滤器
格式如下:
scan'表名',{FILTER=>过滤器(比较运算符,'比较器')"}
一、行键过滤器
RowFilter可以配合比较器和运算符,实现行键字符串的比较和过滤
例如,匹配出行键中大于102的数据,可使用binary比较器;匹配以10开头的行键,可使用substring比较器,注意substring不支持大于或小于运算符。
首先创建本次需要用到的表,booksystem:bookinfo 看参考下面这篇文章
(71条消息) Hbase对表进行查询操作详细教程_小镭敲代码的博客-CSDN博客
1、过滤出行键为102的数据
scan'booksystem:bookinfo',FILTER=>"RowFilter(=,'binary:102')"
2、过滤出行键=>102的数据
scan'booksystem:bookinfo',FILTER=>"RowFilter(>=,'binary:102')"
3、过滤出行键是10开头的数据
scan'booksystem:bookinfo',FILTER=>"RowFilter(=,'substring:10')"
4、过滤出行键中包含3的数据
scan'booksystem:bookinfo',FILTER=>"RowFilter(=,'substring:3')"
二、列族与列过滤器
(一)列族过滤器
对列族进行过滤的过滤器为FamilyFilter,其语法结构与RowFilter类似,不同之处在于FamilyFilter是对列族名称进行过滤的
1、过滤出列族为info2的列族数据
scan'booksystem:bookinfo',FILTER=>"FamilyFilter(=,'binary:info2')"
2、过滤出列族名包含info的数据
scan'booksystem:bookinfo',FILTER=>"FamilyFilter(=,'substring:info')"
(二)列过滤器
列过滤器 | 描述 | |
QualifiterFilter | 标识过滤器,只显示对应列名的数据 | |
ColumnPrefixFilter | 对列名称的前缀进行过滤 | |
MultipleColumnPrefixFilter | 可以指定多个前缀进行列名称过滤 | |
ColumnRangeFilter | 过滤列名称的范围 |
1、过滤出type列 QualifierFilter
scan'booksystem:bookinfo',FILTER=>"QualifierFilter(=,'binary:type')"
2、过滤出包含e的列
scan'booksystem:bookinfo',FILTER=>"QualifierFilter(=,'substring:e')"
3、过滤出列名为n开头的列ColumnPrefixFilter
scan'booksystem:bookinfo',FILTER=>"ColumnPrefixFilter('n')"
4、过滤出列名前缀为n和p的列 MultipleColumnPrefixFilter
scan 'booksystem:bookinfo',FILTER=>"MultipleColumnPrefixFilter('n','p')"
5、过滤出name-type之间的列 ColumnRangeFilter
scan 'booksystem:bookinfo',FILTER=>"ColumnRangeFilter('name',true,'typ
e',false)"
三、值过滤器
1、查询之里面包含a的数据
scan 'booksystem:bookinfo',FILTER=>"ValueFilter(=,'substring:a')"
2、查询在info1的列族中name的值为python的数据SinglecolumnValueFilter
scan 'booksystem:bookinfo',FILTER=>"SingleColumnValueFilter('info1':'name',=,'binary:python')"
3、查询以n开头的列,并且值为python的数据
scan 'booksystem:bookinfo',FILTER=>"ColumnPrefixFilter('n')AND ValueFilter(=,'substring:python')"
四、其他过滤器
1、时间过滤器
过滤出时间在1637769874353,1637769886529的数据
scan 'booksystem:bookinfo',FILTER=>"TimestampsFilter(1637769874353,1637769886529)"
2、分页过滤器
scan'booksystem:bookinfo',{STARTROW=>'101',FILTER=>"PageFilter(2)"}
在Hbase使用过滤器(行键过滤器、列族与列过滤器、值过滤器)相关推荐
- hbase表的行键设计原则
hbase表的行键设计原则 原理: HBase是一个分布式的.面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式. 既然HB ...
- HbaseRowkey设计以及列族和列的关系
Hbase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写:另外一部分作为BlockCache,主要用于读数据:这里主要介绍写数据的部分,即Memstore.当Re ...
- java获取列族的列_在cassandra-cli中如何获取表中的所有列名以及如何在java中使用hector获取它?...
我正在尝试获取列名,但无法获得仅列名称. 在cli我执行命令描述表节点,它返回结果: CREATE TABLE nodes ( key text PRIMARY KEY, id text, score ...
- HBase 行键设计
HBase 有两种基本的键结构:行键(row key)和列键(column key).两者都可以存储有意义的信息,一种是键本身存储的内容,另一种是键的排列顺序. 概念 HBase 的表中数据分隔主要是 ...
- 【HBase】列族属性详解
HBase Table 的每个列族都可以设置 VERSION,TTL.BLOOMFLTER 等很多属性: create 'test:user', {NAME => 'b', VERSIONS = ...
- Hbase按指定列族中指定列的列值查找数据Hbase命令
最近在做大数据的实验时,遇到需要类似于sql中 select XXX from where xxxxx=xxx的一个检索的需求,翻了好多博客都没有解决,最后通过查看hbase filte的文档,使用S ...
- HBase - 列族定义 | 那伊抹微笑
博文作者: 妳那伊抹微笑 csdn 博客地址: http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-1 ...
- hbase数据库介绍,HBASE的特点,表结构逻辑视图,Row Key,列族,时间戳,Cell
HBASE数据库 1. Hbase基础 1.1 hbase数据库介绍 1.简介nosql hbase是bigtable的开源java版本.是建立在hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实 ...
- hbase 使用lzo_带你快速上手HBase | HBase列族优化
随着大数据的越来越普及,HBase也变得越来越流行.使用HBase并不困难,但是如何用好HBase,这确是一个难点.为了合理地使用HBase,尽可能发挥HBase的功能,我们需要根据不同的场景对HBa ...
最新文章
- FLV 封装格式解析
- TPS54360 输入60V,输出3.5A降压开关电压
- 在用户控件中用户登录后台脚本判断
- 问题记录之用poi生成图片并插入到word时,图片中的中文显示不出来
- 使用SQL Server Analysis Services Tabular Model建立分析模型
- 由逻辑异或运算符而发现的PHP诡异运算符优先级
- 第一章 微服务网关 - 入门
- linux执行jmeter脚本解决响应数据为空
- 解决办法:configure: error: You requested SRTP (requires libsrtp) but not found...die
- blob 在线解码_一款支持在线的磁力播放工具
- 7.8 W 字总结!Java 8—Java 10 特性详解
- nba篮球大师服务器维护,NBA篮球大师怎么进不去 NBA篮球大师黑屏闪退解决方法...
- 沁恒三模键盘方案测试体验
- iSlide(PPT插件)
- STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(4):Cortex-M3指令分类
- 大文件上传 NeatUpload 控件
- python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片
- matlab波形的thd波形,Matlab图片处理函数小记
- 二维码在染厂ERP中的一个重要应用!
- B014 - ADC0809数字电压表可切换量程