HBASE Rowkey filter

2024-04-16 18:58
文章标签 filter hbase rowkey

本文主要是介绍HBASE Rowkey filter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HBASE通过Rowkey可以直接定位行,速度很快,在filter中,有2个API可以过滤主键:

1. RowFilter   行过滤器, 依靠行键来过滤

    Scan scan = new Scan();
    Filter rowfilter = new RowFilter(CompareOp.EQUAL, new BinaryPrefixComparator(Bytes.toBytes("A131420033-1007-9223370539574828268")));
   scan1.setFilter(rowfilter);
  
2. setRowPrefixFilter

   Scan scan = new Scan();
  scan.setRowPrefixFilter(Bytes.toBytes("A131420033-1007-9223370539574828268"));

这2者的区别差别太大,上面的rowfilter一定是走全表扫描,即使他的解释是通过行键来过滤, 而直接通过scan. setRowPrefixFilter 才是真正的走行键过滤。

HBASE的数据动辄几亿几十亿,全表扫描是觉得不可以忍受的,
HBASE如果rowkey设计不合理, 根本就不可用,除非依赖二级索引。

这篇关于HBASE Rowkey filter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909628

相关文章

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

Spring Boot拦截器Interceptor与过滤器Filter详细教程(示例详解)

《SpringBoot拦截器Interceptor与过滤器Filter详细教程(示例详解)》本文详细介绍了SpringBoot中的拦截器(Interceptor)和过滤器(Filter),包括它们的... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)详细教程1. 概述1

dubbo3 filter(过滤器)如何自定义过滤器

《dubbo3filter(过滤器)如何自定义过滤器》dubbo3filter(过滤器)类似于javaweb中的filter和springmvc中的intercaptor,用于在请求发送前或到达前进... 目录dubbo3 filter(过滤器)简介dubbo 过滤器运行时机自定义 filter第一种 @A

Java 8 Stream filter流式过滤器详解

《Java8Streamfilter流式过滤器详解》本文介绍了Java8的StreamAPI中的filter方法,展示了如何使用lambda表达式根据条件过滤流式数据,通过实际代码示例,展示了f... 目录引言 一.Java 8 Stream 的过滤器(filter)二.Java 8 的 filter、fi

Hive和Hbase的区别

Hive 和 HBase 都是 Hadoop 生态系统中的重要组件,它们都能处理大规模数据,但各自有不同的适用场景和设计理念。以下是两者的主要区别: 1. 数据模型 Hive:Hive 类似于传统的关系型数据库 (RDBMS),以表格形式存储数据。它使用 SQL-like 语言 HiveQL 来查询和处理数据,数据通常是结构化或半结构化的。HBase:HBase 是一个 NoSQL 数据库,基

简单Hbase 分页方案

简单Hbase分页方案 网上大多数分页方案分为从服务端分页或者从客户端分页 服务端分页方式主要利用PageFilter过滤器,首先太复杂,其次针对集群的兼容性不是很好,作者利用服务端分页+客户端分页结合方式给出一种简单易行的中间方案。 1.利用PageFilter过滤器从服务端分页,过滤出所需要的最大条数, 注:作者认为大多数用户不会进行太深的翻页,假设pageSize=5,客户饭100页一共

Hbase Filter+Scan 查询效率优化

Hbase Filter+Scan 查询效率问题 众所周知,Hbase利用filter过滤器查询时候会进行全表扫描,查询效率低下,如果没有二级索引,在项目中很多情况需要利用filter,下面针对这种情况尝试了几种优化的方案,仅供参考,欢迎交流。 根据业务要求,作者需要根据时间范围搜索所需要的数据,所以作者设计的rowKey是以时间戳为起始字符串的。 正确尝试: 1.scan 设置 开始行和结

Hbase 查询相关用法

Hbase 查询相关用法 public static void main(String[] args) throws IOException {//Scan类常用方法说明//指定需要的family或column ,如果没有调用任何addFamily或Column,会返回所有的columns; // scan.addFamily(); // scan.addColumn();// scan.se

Filter基本原理和使用

https://www.cnblogs.com/xdp-gacl/p/3948353.html 一、Filter简介   Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控

【Hbase 数据操作】HBase基础和数据导入

创建表hbase_test有两个列族CF1和CF2 向表中添加数据,在向HBase的表中添加数据的时候,只能一列一列的添加,不能同时添加多列。 create 'hbase_test',{NAME=>'cf1'},{NAME=>'cf2'}put 'hbase_test', '001','cf1:name','liz';put 'hbase_test', '001','cf1:age','1