hbase java api count_HBase内置过滤器java api的总结

1、RowFilter:筛选出匹配的所有的行(使用过)//rowkey 等于 test|id9

Filter filter=new RowFilter(CompareOperator.EQUAL,new BinaryComparator(Bytes.toBytes("test|id9")));

2、PrefixFilter:筛选出具有特定前缀的行健的数据//rowkey 以test开头

Filter filter=new PrefixFilter(Bytes.toBytes("test"));

3、KeyOnlyFilter:只返回每行的行健//只返回每行的行键,但值全是空

Filter filter=new KeyOnlyFilter();

4、RandomRowFilter:按照一定的几率来返回随机的结果集//返回随机的数据

Filter filter=new RandomRowFilter(0.5f);

5、InclusiveStopFilter:扫描的时候,我们可以设置一个开始行键和一个终止行键,默认情况下,这个行键的返回是前闭后开区间,即包含起始行,但不包含终止行,如果我们想要同时包含起始行和终止行//遇到rowkey等于test|id4停止查询

Filter filter=new InclusiveStopFilter(Bytes.toBytes("test|id4"));

6、FirsterKeyOnlyFilter:返回的结果集中只包含第一列的数据它在找到每行的第一列之后会停止扫描//筛选出第一个每个第一个单元格

Filter filter=new FirstKeyOnlyFilter();

7、ColumnsPrefixFilter:按照列名的前缀来筛选单元格,如果我们想要对返回的列的前缀加以限制的话,可以使用这个过滤器//列名以ss开头

Filter filter=new ColumnPrefixFilter(Bytes.toBytes("ss"));

8、ValueFilter:按照具体的值来筛选单元格//值中包含one的记录

Filter filter=new ValueFilter(CompareOperator.EQUAL,new SubstringComparator("one"));

9、ColumnsCountGetFilter:这个过滤器来返回每行最多返回多少列,并在遇到一行的列数超过我们所设置的限制值的时候,结束扫描操作Filter ccf=new ColumnCountGetFilter(2);//OK如果突然发现一行中的列数超过设定的最大值时,整个扫描操作会停止

10、SingleColumnValueFilter:用一列的值决定这一行的数据是否被过滤SingleColumnValueFilter scvf=new SingleColumnValueFilter(

Bytes.toBytes("colfam1"),

Bytes.toBytes("qual2"),CompareFilter.CompareOp.NOT_EQUAL,new SubstringComparator("BOGUS"));

scvf.setFilterIfMissing(false);

scvf.setLatestVersionOnly(true);//OK

11、SingColumnValueExcludeFilter:这个与10种的过滤器唯一的区别就是,作为筛选条件的列的不会包含在返回的结果中。

12、SkipFilter:这是一种附加过滤器,其与ValueFilter结合使用,如果发现一行中的某一列不符合条件,那么整行就会被过滤掉Filter skf=new SkipFilter(vf);//OK发现某一行中的一列需要过滤时,整个行就会被过滤掉

13、WhileMatchFilter:如果你想要在遇到某种条件数据之前的数据时,就可以使用这个过滤器;当遇到不符合设定条件的数据的时候,整个扫描也就结束了Filter wmf=new WhileMatchFilter(rf);//OK类似于Pythonitertools中的takewhile

14、FilterList:用于综合使用多个过滤器(使用过)Listfilters=new ArrayList();filters.add(rf);

filters.add(vf);FilterList fl=?new FilterList(FilterList.Operator.MUST_PASS_ALL,filters);//OK综合使用多个过滤器,AND和OR两种关系

通过Filter获取结果集案例FilterList filterList=new FilterList();

Filter filter=new RowFilter(CompareOperator.EQUAL,new BinaryComparator(Bytes.toBytes("test|id9")));

filterList.addFilter(filter);

ResultScanner www = HBaseUtil.getScanner("www",filterList);

for (Result re:www){

for(Cell kv:re.rawCells()){

System.out.println("====="+kv.toString());

System.out.println("列族:"+Bytes.toString(kv.getFamilyArray(),kv.getFamilyOffset(),kv.getFamilyLength()));

System.out.println("RowKey:"+Bytes.toString(kv.getRowArray(),kv.getRowOffset(),kv.getRowLength()));

System.out.println("列名:"+Bytes.toString(kv.getQualifierArray(),kv.getQualifierOffset(),kv.getQualifierLength()));

System.out.println("值:"+Bytes.toString(kv.getValueArray(),kv.getValueOffset(),kv.getValueLength()));

System.out.println("=================================================================================");

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

是否有必要使用外键?为什么不用外键?

什么是外键: 如果一个实体的某个字段指向另一个实体的主键,就称为外键。被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(…

haproxy keepalived_Haproxy+KeepAlived+Mycat实现高可用集群

1.什么是HaproxyHAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬…

IO与NIO

1、阻塞与非阻塞 阻塞与非阻塞是描述进程在访问某个资源时,数据是否准备就绪的的一种处理方式。当数据没有准备就绪时: 阻塞:线程持续等待资源中数据准备完成,直到返回响应结果。非阻塞:线程直接返回结果&#xff0c…

java spark wordcount_提交任务到spark(以wordcount为例)

1、首先需要搭建好hadoopspark环境,并保证服务正常。本文以wordcount为例。2、创建源文件,即输入源。hello.txt文件,内容如下:tom jerryhenry jimsuse lusy注:以空格为分隔符3、然后执行如下命令:hadoop fs…

python类百度百科_Python抓取百度百科数据

抓取策略确定目标:确定抓取哪个网站的哪些页面的哪部分数据。本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介。 分析目标:分析要抓取的url的格式,限定抓取范围。分析要抓取的数据的格式,本实例中就要分析标…

redis的四大特性和原理

一、redis的过期 A.应用场景 cookie自动过期,限时优惠价格,限制每分钟的访问次数 B.实现方式 setex(String key, int seconds, String value) expire key time #秒 pexpire key time #毫秒 expireat key time #秒 pexpireat key time #毫秒 C.实…

java ssh 那一层应该捕获异常_ssh经典异常!

我对异常抛出的情况作啦一个总结,下面的是我在做项目的时候,处理抛出来的经典异常。严重: action: nulljava.lang.ClassNotFoundException: org.springframework.web.struts.ContextLoaderPlugInat org.apache.catalina.loader.WebappClassLoader.loadCl…

默认文献工具_工具分享??超好用的SCI外文文献下载工具

第一步:打开工具第二步:查找目标文献的DOI号(知网、谷歌学术等等...),然后复制。第三步:粘贴到工具里面,然后点击「立即下载」第四步:点击立即下载之后,会自动打开默认浏…

java 变量的调用方法_java类变量的调用方式

java类变量的调用方式从类的内部调用类变量,可以使用类名.变量,也可以直接使用变量进行调用:public class Test {static byte a 1;static short b 2;​public static void main(String[] args) {System.out.println("a"a);System…

Redis之Redis的事务

1.Redis的事务是什么 Redis 事务的本质是一组命令的集合,事务支持一次执行多个命令,一个事务中所有命令都会被序列化。(redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令). 1.1reids事务的特点 事务同命令一样都是Redis最小的执行单位&#xff0…

idea 设置内存_IDEA新特性:提前知道代码怎么走!

作者:简简单单OnlineZuozuo原文链接:https://blog.csdn.net/qq_15071263/article/details/104186309新特性IDEA - 2020.1 版本针对调试器和代码分析器的改进,值得期待1、对于调试器的加强:数据流分析辅助2、调试加强:属…

64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll

java-无法在AMD 64位平台上加载IA 32位.dll我正在尝试通过此页面上的JNI包装器使用Java中的SVMLight:static {System.loadLibrary("lib/JNI_SVM-light-6.01/lib/svmlight");}我收到以下错误:... lib \ JNI_SVM-light-6.01 \ lib \ svmlight.dl…

Redis的内部运作机制——Redis详解

本文将分五个部分来分析和总结Redis的内部机制,分别是:Redis数据库、Redis客户端、Redis事件、Redis服务器的初始化步骤、Redis命令的执行过程。 首先介绍一下Redis服务器的状态结构。Redis使用一个类型为“redisServer”的数据结构来保存整个Redis服务…

selenium之 chromedriver与chrome版本映射表_NLP实战篇之tf2训练与评估

本文是基于tensorflow2.2.0版本,介绍了模型的训练与评估。主要介绍了tf.keras的内置训练过程,包括compile、fit,其中compile中包含优化器、loss与metrics的使用,内置api中还包含了很多辅助工具,在Callback中进行介绍&a…

java会被rust替代吗_自从尝了 Rust,Java 突然不香了

Rust 是软件行业中相对而言比较新的一门编程语言,如果从语法上来比较,该语言与 C 其实非常类似,但从另一方面而言,Rust 能更高效地提供许多功能来保证性能和安全。而且,Rust 还能在无需使用传统的垃圾收集系统的情况下…

redis单线程原理___Redis为何那么快-----底层原理浅析

redis单线程原理 redis单线程问题 单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。 1. 为什么说redis能够快速执行 (1) 绝大部分请求是纯粹的内存操作…

asm 查看 数据文件 修改 时间_Oracle的ASM介绍及管理

Oracle的ASM介绍及管理Oracle经历过的文件系统历史操作系统--逻辑卷管理器(LVM):管理文件相对容易,性能较差裸设备:管理文件相对困难,性能好OCFS(Oracle Cluster File System):是ORACLE数据库文件系统ASM(Automatic Storage Manag…

深入理解 Redis Template及4种序列化方式__spring boot整合redis实现RedisTemplate三分钟快速入门

概述 使用Spring 提供的 Spring Data Redis 操作redis 必然要使用Spring提供的模板类 RedisTemplate, 今天我们好好的看看这个模板类 。 RedisTemplate 看看4个序列化相关的属性 ,主要是 用于 KEY 和 VALUE 的序列化 。 举个例子,比如说我们…

java仿聊天室项目总结_Java团队课程设计-socket聊天室(Day4总结篇)

Java团队课程设计-socket聊天室(Day4总结篇)团队名称:ChatRoom项目git地址:git提交记录(仅截取部分):面向对象设计包图、类图包图UML类图总结:首先总结一下这几天遇到的问题和解决方案使用ObjectInputStream/ObjectOutputStream的…

python基础代码技巧_Python 代码优化技巧(二)

Python 是一种脚本语言,相比 C/C 这样的编译语言,在效率和性能方面存在一些不足,但是可以通过代码调整来提高代码的执行效率。本文整理一些代码优化技巧。 代码优化基本原则代码正常运行后优化。 很多人一开始写代码就奔着性能优化的目标&…