HbaseFilter

金融波动预测:GARCH模型实战解析与ARIMA对比 本文深入解析GARCH模型在金融波动预测中的实战应用,并与传统ARIMA模型进行对比。通过沪深300指数日收益率数据的案例分析,展示GARCH模型如何有效捕捉波动聚集效应,提升极端波动预测准确率。文章包含Python代码实现、参数解读及模型选择指南,为量化交易者提供实用的波动率建模解决方案。 阅读详情

Filter

  • CompareFilter
    是高层的抽象类,下面我们将看到他的实现类和实现类代表的各种过滤条件

  • RowFilter,FamliyFilter,QualifierFilter,ValueFilter
    行,列组,列,值等的过滤

  • SingleColumnValueFilter
    单值过滤器是以特定“列”的“值”为过滤内容,值得是单列的值。而行值过滤器比较的是所有列的值。与其进行比较。

  • FilterMissing
    指的是对于找不到该列的行的时候,做的特殊处理。true,不返回该行,false 返回该行

  • PrefixFilter
    前缀过滤器将会过滤掉不匹配的记录,过滤的对象是主键的值。

  • PageFilter
    分页过滤器,通过pageSize设置每次返回的行数,这需要客户端在遍历的时候记住页开始的地方,配合scan的startkey一起使用

  • FilterList
    过滤器集合,Hbase的过滤器设计遵照于设计模式中的组合模式,以上的所有过滤器都可以叠加起来共同作用于一次查询

  • KeyOnlyFilter
    设置过滤的结果集中只包含键而忽略值

  • FirstKeyOnlyFilter
    在键过滤器的基础上,根据列有序,只包含第一个满足的键,返回每个行的第一列的KV,可以用于有效的执行行计数操作。

  • ColumnPrefixFilter
    这里过滤的对象是列的值。

  • TimestampsFilter
    这里参数是一个集合,只有包含在集合中的版本才会包含在结果集中

Demo

参数基础
有两个参数类在各类Filter中经常出现,统一介绍下:
(1)比较运算符 CompareFilter.CompareOp
比较运算符用于定义比较关系,可以有以下几类值供选择:
EQUAL 相等
GREATER 大于
GREATER_OR_EQUAL 大于等于
LESS 小于
LESS_OR_EQUAL 小于等于
NOT_EQUAL 不等于

(2)比较器 ByteArrayComparable
通过比较器可以实现多样化目标匹配效果,比较器有以下子类可以使用:
BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])
BinaryPrefixComparator 跟前面相同,只是比较左端的数据是否相同
BitComparator 按位比较 a BitwiseOp class 做异或,与,并操作
NullComparator 判断给定的是否为空
RegexStringComparator 正则表达式匹配
SubstringComparator 断提供的子串是否出现在table的value中

1,FilterList
FilterList 代表一个过滤器链,它可以包含一组即将应用于目标数据集的过滤器,过滤器间具有
“与” FilterList.Operator.MUST_PASS_ALL
“或” FilterList.Operator.MUST_PASS_ONE
官网实例代码,两个“或”关系的过滤器的写法:

FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ONE);   //数据只要满足一组过滤器中的一个就可以  
SingleColumnValueFilter filter1 = new SingleColumnValueFilter(cf,column,CompareOp.EQUAL,Bytes.toBytes("my value"));  
list.add(filter1);  
SingleColumnValueFilter filter2 = new SingleColumnValueFilter(cf,column,CompareOp.EQUAL,Bytes.toBytes("my other value"));  
list.add(filter2);  
Scan scan = new Scan();  
scan.setFilter(list);  

2,列值过滤器–SingleColumnValueFilter

SingleColumnValueFilter 用于测试列值
相等 (CompareOp.EQUAL)
不等 (CompareOp.NOT_EQUAL)
单侧范围 (e.g.,CompareOp.GREATER)

注意:根据列的值来决定这一行数据是否返回,落脚点在行,而不是列。我们可以设置filter.setFilterIfMissing(true);如果为true,当这一列不存在时,不会返回,如果为false,当这一列不存在时,会返回所有的列信息

测试数据
这里写图片描述

Table table = connection.getTable(TableName.valueOf("user"));  
        SingleColumnValueFilter scvf= new SingleColumnValueFilter(Bytes.toBytes("account"), Bytes.toBytes("name"),   
             CompareOp.EQUAL,"zhangsan".getBytes());  
        scvf.setFilterIfMissing(true); //默认为false, 没有此列的数据也会返回 ,为true则只返回name=lisi的数据  
        Scan scan = new Scan();  
        scan.setFilter(scvf);  
        ResultScanner resultScanner = table.getScanner(scan);  
        for (Result result : resultScanner) {  
             List<Cell> cells= result.listCells();      
             for (Cell cell : cells) {  
                 String row = Bytes.toString(result.getRow());  
                 String family1 = Bytes.toString(CellUtil.cloneFamily(cell));  
                 String qualifier = Bytes.toString(CellUtil.cloneQualifier(cell));  
                 String value = Bytes.toString(CellUtil.cloneValue(cell));  
                 System.out.println("[row:"+row+"],[family:"+family1+"],[qualifier:"+qualifier+"]"  
                        + ",[value:"+value+"],[time:"+cell.getTimestamp()+"]");  
            }  
        }  

一般只会设置这个
如果setFilterIfMissing(true), 有匹配只会返回当前列所在的行数据,基于行的数据 country 也返回了,因为他么你的rowkey是相同的

[row:zhangsan_1495527850824],[family:account],[qualifier:country],[value:china],[time:1495636452285]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  

如果setFilterIfMissing(false),有匹配的列的值相同会返回,没有此列的 name的也会返回,, 不匹配的name则不会返回。
下面 红色是匹配列内容的会返回,其他的不是account:name列也会返回,, name=lisi的不会返回,因为不匹配。

[row:lisi_1495527849910],[family:account],[qualifier:idcard],[value:42963319861234561230],[time:1495556647872]  
[row:lisi_1495527850111],[family:account],[qualifier:password],[value:123451231236],[time:1495556648013]  
[row:lisi_1495527850114],[family:address],[qualifier:city],[value:黄埔],[time:1495556648017]  
[row:lisi_1495527850136],[family:address],[qualifier:province],[value:shanghai],[time:1495556648041]  
[row:lisi_1495527850144],[family:info],[qualifier:age],[value:21],[time:1495556648045]  
[row:lisi_1495527850154],[family:info],[qualifier:sex],[value:女],[time:1495556648056]  
[row:lisi_1495527850159],[family:userid],[qualifier:id],[value:002],[time:1495556648060]  
[row:wangwu_1495595824517],[family:userid],[qualifier:id],[value:009],[time:1495624624131]  
[row:zhangsan_1495527850759],[family:account],[qualifier:idcard],[value:9897645464646],[time:1495556648664]  
[row:zhangsan_1495527850759],[family:account],[qualifier:passport],[value:5689879898],[time:1495636370056]  
[row:zhangsan_1495527850824],[family:account],[qualifier:country],[value:china],[time:1495636452285]  
<span style="color:#ff0000;">[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]</span>  
[row:zhangsan_1495527850951],[family:address],[qualifier:province],[value:guangdong],[time:1495556648855]  
[row:zhangsan_1495527850975],[family:info],[qualifier:age],[value:100],[time:1495556648878]  
[row:zhangsan_1495527851080],[family:info],[qualifier:sex],[value:男],[time:1495556648983]  
[row:zhangsan_1495527851095],[family:userid],[qualifier:id],[value:001],[time:1495556648996]  

3 键值元数据
由于HBase 采用键值对保存内部数据,键值元数据过滤器评估一行的键(ColumnFamily:Qualifiers)是否存在

3.1. 基于列族过滤数据的FamilyFilter
构造函数:
FamilyFilter(CompareFilter.CompareOp familyCompareOp, ByteArrayComparable familyComparator)
代码如下:

public static ResultScanner getDataFamilyFilter(String tableName,String family) throws IOException{  
        Table table = connection.getTable(TableName.valueOf("user"));  
        FamilyFilter ff = new FamilyFilter(CompareOp.EQUAL ,   
                new BinaryComparator(Bytes.toBytes("account")));   //表中不存在account列族,过滤结果为空  
//       new BinaryPrefixComparator(value) //匹配字节数组前缀  
//       new RegexStringComparator(expr) // 正则表达式匹配  
//       new SubstringComparator(substr)// 子字符串匹配   
        Scan scan = new Scan();  
        // 通过scan.addFamily(family)  也可以实现此操作  
        scan.setFilter(ff);  
        ResultScanner resultScanner = table.getScanner(scan);  
        return resultScanner;  
    }  

测试结果:查询的都是account列簇的内容

[row:lisi_1495527849910],[family:account],[qualifier:idcard],[value:42963319861234561230],[time:1495556647872]  
[row:lisi_1495527850081],[family:account],[qualifier:name],[value:lisi],[time:1495556647984]  
[row:lisi_1495527850111],[family:account],[qualifier:password],[value:123451231236],[time:1495556648013]  
[row:zhangsan_1495527850759],[family:account],[qualifier:idcard],[value:9897645464646],[time:1495556648664]  
[row:zhangsan_1495527850759],[family:account],[qualifier:passport],[value:5689879898],[time:1495636370056]  
[row:zhangsan_1495527850824],[family:account],[qualifier:country],[value:china],[time:1495636452285]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  

3.2. 基于限定符Qualifier(列)过滤数据的QualifierFilter
构造函数:
QualifierFilter(CompareFilter.CompareOp op, ByteArrayComparable qualifierComparator)

    Table table = connection.getTable(TableName.valueOf("user"));  
        QualifierFilter ff = new QualifierFilter(  
                CompareOp.EQUAL , new BinaryComparator(Bytes.toBytes("name")));  
//       new BinaryPrefixComparator(value) //匹配字节数组前缀  
//       new RegexStringComparator(expr) // 正则表达式匹配  
//       new SubstringComparator(substr)// 子字符串匹配   
        Scan scan = new Scan();  
        // 通过scan.addFamily(family)  也可以实现此操作  
        scan.setFilter(ff);  
        ResultScanner resultScanner = table.getScanner(scan);  

测试结果:只返回 name 的列内容

[row:lisi_1495527850081],[family:account],[qualifier:name],[value:lisi],[time:1495556647984]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  

3.3. 基于列名(即Qualifier)前缀过滤数据的ColumnPrefixFilter ( 该功能用QualifierFilter也能实现 )
用于列名(Qualifier)前缀过滤,即包含某个前缀的所有列名。
构造函数:
ColumnPrefixFilter(byte[] prefix)

Table table = connection.getTable(TableName.valueOf("user"));  
         ColumnPrefixFilter ff = new ColumnPrefixFilter(Bytes.toBytes("name"));  
        Scan scan = new Scan();  
        // 通过QualifierFilter的 newBinaryPrefixComparator也可以实现  
        scan.setFilter(ff);  
        ResultScanner resultScanner = table.getScanner(scan);  

返回结果:

[row:lisi_1495527850081],[family:account],[qualifier:name],[value:lisi],[time:1495556647984]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729] 

3.4. 基于多个列名(即Qualifier)前缀过滤数据的MultipleColumnPrefixFilter
MultipleColumnPrefixFilter 和 ColumnPrefixFilter 行为差不多,但可以指定多个前缀

byte[][] prefixes = new byte[][] {Bytes.toBytes("name"), Bytes.toBytes("age")};  
        //返回所有行中以name或者age打头的列的数据  
        MultipleColumnPrefixFilter ff = new MultipleColumnPrefixFilter(prefixes);  

        Scan scan = new Scan();  
        scan.setFilter(ff);  
        ResultScanner rs = table.getScanner(scan);    

结果:

[row:lisi_1495527850081],[family:account],[qualifier:name],[value:lisi],[time:1495556647984]  
[row:lisi_1495527850144],[family:info],[qualifier:age],[value:21],[time:1495556648045]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  
[row:zhangsan_1495527850975],[family:info],[qualifier:age],[value:100],[time:1495556648878] 

4.RowKey
当需要根据行键特征查找一个范围的行数据时,使用Scan的startRow和stopRow会更高效,但是,startRow和stopRow只能匹配行键的开始字符,而不能匹配中间包含的字符:
byte[] startColumn = Bytes.toBytes(“azha”);
byte[] endColumn = Bytes.toBytes(“dddf”);
Scan scan = new Scan(startColumn,endColumn);

当需要针对行键进行更复杂的过滤时,可以使用RowFilter:

构造函数:
RowFilter(CompareFilter.CompareOp rowCompareOp, ByteArrayComparable rowComparator)

Table table = connection.getTable(TableName.valueOf("user"));  
        RowFilter rf = new RowFilter(CompareOp.EQUAL ,   
                new SubstringComparator("zhangsan"));  
        //       new BinaryPrefixComparator(value) //匹配字节数组前缀  
        //       new RegexStringComparator(expr) // 正则表达式匹配  
        //       new SubstringComparator(substr)// 子字符串匹配   
        Scan scan = new Scan();  
        scan.setFilter(rf);  
        ResultScanner rs = table.getScanner(scan);   

结果:

[row:zhangsan_1495527850759],[family:account],[qualifier:idcard],[value:9897645464646],[time:1495556648664]  
[row:zhangsan_1495527850759],[family:account],[qualifier:passport],[value:5689879898],[time:1495636370056]  
[row:zhangsan_1495527850824],[family:account],[qualifier:country],[value:china],[time:1495636452285]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  
[row:zhangsan_1495527850951],[family:address],[qualifier:province],[value:guangdong],[time:1495556648855]  
[row:zhangsan_1495527850975],[family:info],[qualifier:age],[value:100],[time:1495556648878]  
[row:zhangsan_1495527851080],[family:info],[qualifier:sex],[value:男],[time:1495556648983]  
[row:zhangsan_1495527851095],[family:userid],[qualifier:id],[value:001],[time:1495556648996]  

5.PageFilter
疑问:怎么做分页?
指定页面行数,返回对应行数的结果集。
需要注意的是,该过滤器并不能保证返回的结果行数小于等于指定的页面行数,因为过滤器是分别作用到各个region server的,它只能保证当前region返回的结果行数不超过指定页面行数。
构造函数:
PageFilter(long pageSize)
代码:

Table table = connection.getTable(TableName.valueOf("user"));  
        PageFilter pf = new PageFilter(2L);  
        Scan scan = new Scan();  
        scan.setFilter(pf);  
        scan.setStartRow(Bytes.toBytes("zhangsan_"));  
        ResultScanner rs = table.getScanner(scan);  

结果:返回的结果实际上有四条,因为这数据来自不同RegionServer,

[row:zhangsan_1495527850759],[family:account],[qualifier:idcard],[value:9897645464646],[time:1495556648664]  
[row:zhangsan_1495527850759],[family:account],[qualifier:passport],[value:5689879898],[time:1495636370056]  
[row:zhangsan_1495527850824],[family:account],[qualifier:country],[value:china],[time:1495636452285]  
[row:zhangsan_1495527850824],[family:account],[qualifier:name],[value:zhangsan],[time:1495556648729]  
ROS从入门到精通0-1:教程导读 ROS概念太多太复杂?ROS从入门到精通系列订阅必看 阅读详情

相关推荐

仓储控制系统(WCS)设计

WCS系统设计方法

cetclyb的博客 2万+

HBase 高级

HbaseAPI

m0_54357806的博客 335

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 415

hbase 常用命令

Hbase scan扫描全表,指定返回特定的列 scan ‘stu’,{COLUMNS => [‘base:weight’,‘base:height’]} Hbase TIMERANGE 扫描指定时间内数据,前闭后开 scan ‘stu’,{TIMERANGE=>[1588153968060,1588153968207]} Hbase 利用STARTROW STOPROW 扫描rowkey的范围 scan ‘stu’,{STARTROW=>‘c1_s1’,STOPROW=&gt..

qq_44648148的博客 982

ArcGIS栅格拼接全攻略:从核心原理到色彩平衡与大数据处理

在GIS数据处理中,栅格拼接是一项基础且关键的操作,其本质是将多幅具有重叠区域的栅格图像无缝整合为一张完整地图。该技术涉及空间参考统一、像元对齐与色彩融合等核心原理,是构建连续地理空间数据的基石。其技术价值在于保障数据完整性、提升可视化效果,并为后续的空间分析提供可靠底图。在遥感影像处理、数字高程模型构建及地图制图等应用场景中,高质量的拼接成果至关重要。本文聚焦于ArcGIS平台,深入解析其栅格拼接工具,并针对常见的色彩不一致与大数据量处理难题,提供了基于**色彩平衡**和**金字塔**优化的实战解决方案,

weixin_33158887的博客 262

5分钟搞定PaddleOCR PP-OCRv5环境搭建:从安装到第一个识别Demo

本文提供了一份详细的PaddleOCR PP-OCRv5环境搭建与快速入门指南。通过清晰的步骤,指导读者在5分钟内完成从创建Python虚拟环境、安装PaddlePaddle框架和PaddleOCR库,到编写并运行第一个OCR识别Demo的全过程,帮助开发者快速体验最新的PP-OCRv5模型的文字识别能力。

sprite的博客 1267

HBase Filter 过滤器之RowFilter详解

前言:本文详细介绍了HBase RowFilter过滤器Java&Shell API的使用,并贴出了相关示例代码以供参考。RowFilter 基于行键进行过滤,在工作中涉及到需要通过HBase Rowkey进行数据过滤时可以考虑使用它。比较器细节及原理请参照之前的更文:HBase Filter 过滤器之比较器 Comparator 原理及源码学习 一。Java Api 头部代码 public class RowFilterDemo { private static boolean

Data & Analysis 1316

工业异常检测评价指标(I-AUROC、PRO等)

模型评价指标:TPR、FPR、Recall、ROC、AUC、AUROC、IoU、PRO、AUPRO等

qq_1532145264的博客 7434

Hbase-RowKey Filter详解

RowFilter是用来对rowkey进行过滤的,比较符如下: 相关的过滤方法使用: 提取rowkey以01结尾数据 Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator(".*01$")); 提取rowkey以包含201407的数据 Filter filter = new ...

健康平安的活着的专栏 2916

098、C3k2_Ghost:用 GhostConv 替代 C3k2 内标准卷积的轻量化改造代码

本文介绍了用GhostConv轻量化改造YOLOv11中C3k2模块的实践。作者通过线上部署案例引出问题,详细解析了GhostConv的核心实现逻辑,指出直接替换标准卷积会导致的两个关键问题:通道数不匹配和kernel_size冲突。文章提供了完整的C3k2_Ghost实现代码,包含注意事项和调试技巧。消融实验显示,该方法在小模型上可减少27%-28%参数量、34%-35%FLOPs,仅损失0.8mAP。作者总结了适用场景:小模型效果显著,大模型需谨慎;检测小目标任务不推荐;训练时需调整学习率。最后强调sh

sundong_81的博客 62

全国区块链职业技能大赛国赛考题前端功能开发

全国区块链职业技能大赛国赛考题区块链应用前端功能开发

本郡主是喵 1334

hbase行键过滤器RowFilter

RowFilter是用来对rowkey进行过滤的,比较符如下: Operator Description LESS 小于 LESS_OR_EQUAL 小于等于 EQUAL 等于 NOT_EQUAL 不等于 GREATER_OR_EQUAL

谭成 2597

uniapp ios原生插件开发 (framework,cocoapods)

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

Rey的技术博客 9823

hbaseFilter使用,以及简单封装

学习笔记: 简单的将spark访问hbase使用filter过滤的操作进行封装, 功能并不完善,无法做到把case class以反射的方式传入到方法中进行字段的构造 把构件表的操作放在单独处理的部分 package cn.DaLong_hbase import java.util import scala.collection.JavaConverters._ import or

Inkbamboo专栏 1130

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HBaseFilter过滤器的介绍以及使用

HBaseFilter过滤器的介绍以及使用

克终的博客 544

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

spark使用hbasefilter访问hbase表数据(封装)

自己尝试实现的类, 本类的作用:调用内部方法 根据输入的表名,列族,列名,筛选需要展示的列 根据输入的列族,列名,列值,筛选条件,是用过滤器过滤数据 返回值:SQLContext   已完成表的注册,可以直接操作sql方法,使用sql语言查询处理 代码如下 package cn.deppon.Tool import java.util import scala.collectio

Inkbamboo专栏 3326

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数据库原理与Spark和Drill

占坑,以后补上 数据库原理 逻辑计划 ANTLR词法解析 关系代数 物理计划 传统的Table scan,index scan Hbase Filter Spark 和 Drill

心中永远的正能量 3559

4-HBase

定义:  HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提  供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBas...

weixin_34309435的博客 138

《Hbase权威指南》深入学习hbase:高级功能之Filters

之前我们已经学习过HTable表的定义及基本操作了,本节我们将要学习HBase的高级功能之一过滤器HBase Filter。 HBase 过滤器(Filter)是HBase提供的一个强大的高效查询的功能,可以和Scan或Get操作配合使用。用户可以在客户端通过方法:[code="java"] setFilter(filter) ...

飞翔的荷兰人 148

Hbase多列范围查找(效率)

Hbase索引表的结构 Hbase Rowkey 设计 Hbase Filter Hbase二级索引   Hbase索引表的结构   在HBase中,表格的Rowkey按照字典排序,Region按照RowKey设置split point进行shard,通过这种方式实现的全局、分布式索引,成为了其成功的最大的砝码   每一个索引建立一个表,然后依靠表的row key来实现范围检索。ro...

weixin_33805743的博客 239

HBase常用的Filter过滤器操作

1.ValueFilter过滤器根据数据列单元格的值进行过滤。值过滤器的比较方式有二进制位比较(binary)和子字符串匹配比较(substring(1)按二进制位进行值比较使用get命令,查询students表格中,行键为s001,单元格值为Jack的数据结果。#ValueFilter(=,'binary:Jack')是值过滤器,比较方式是binary二进制1 row(s)使用scan命令,扫描出students表格中,单元格值为90的数据结果。

wanglingli95的博客 3097

Hbase的Filter详解使用

参数基础 有两个参数类在各类Filter中经常出现,统一介绍下: (1)比较运算符 CompareFilter.CompareOp 比较运算符用于定义比较关系,可以有以下几类值供选择: EQUAL                                  相等 GREATER                              大于 GREATER_OR_

奔跑的蜗牛的博客 3万+

hbase scan过滤器命令语法出错_HBase Filter 过滤器之RowFilter详解

前言:本文详细介绍了HBase RowFilter过滤器Java&Shell API的使用,并贴出了相关示例代码以供参考。RowFilter 基于行键进行过滤,在工作中涉及到需要通过HBase Rowkey进行数据过滤时可以考虑使用它。比较器细节及原理请参照之前的更文:HBase Filter 过滤器之比较器 Comparator 原理及源码学习 一。Java Api 头部代码 publi...

weixin_32479557的博客 306

hbase RowFilter如何根据rowkey查询以及实例实现代码

问题导读: 1.如何根据rowkey模糊查询? 2.如何使用Comparator过滤rowkey? 3.如何查询rowkey中包含有某字符串的数据? -----------------------------------------------------------------------------------------------------------------------

zhangketuan的专栏 1万+

hbase RowFilter 查询

Operator Description LESS 小于 LESS_OR_EQUAL 小于等于 EQUAL 等于 NOT_EQUAL 不等于 GREATER_OR_EQUAL 大于等于 GREATER 大于 NO_OP 排除所有 R

pengweid专栏 958
上一篇: hbase优化分析
下一篇: Kafka High Level API vs. Low Level API
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值