Hbase根据rowkey利用scan查询

1.rowkey以某个内容开头

Filter filtet = new PrefixFilter("ooo".getBytes());

2.rowkey字符串包含方式

Filter filter = new RowFilter(CompareOp.EQUAL,new SubstringComparator("xxx"));

3.rowkey匹配正则方式

Filter filter2 = new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator(".*5$"));

4.如果包含多个filter,可以类似Mongodb的查询方式进行添加

FilterList fl = new FilterList(Operator.MUST_PASS_ONE);
fl.addFilter(filter);
scan.setFilter(fl);
时间: 2024-10-04 17:39:38

Hbase根据rowkey利用scan查询的相关文章

利用hive-hbase表做hive表快速入库hbase功能,纬度表的查询

有个需求是纬度表需要秒出数据,首先表刚好也是1-1批对的情况,首先想到了利用hbase的索引机制.(表数据大概在4--30E之间) 虽然网上有很多直接建立hive表,自动创建hbase表的例子,但是这种情况不能进行hbase表的region预分区,导致热点问题比较严重.所以hive和hbase表要分开建立再关联起来. 1.建立hbase表 create 'xxxxx', {NAME => 'info',COMPRESSION => 'SNAPPY'},SPLITS => ['xxx|',

HBase多条件及分页查询的一些方法

HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式有着密切的关系,在逻辑上,HBase的表数据按RowKey进行字典排序, RowKey实际上是数据表的一级索引(Primary Index),由于HBase本身没有二级索引(Secondary Index)机制,基于索引检索数据只能单纯地依靠RowKey.也只有使用RowKey查询数据才能得到非常高

HBase的RowKey设计

HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定位. HBase中rowkey可以唯一标识一行记录,在HBase查询的时候,有两种方式: 通过get方式,指定rowkey获取唯一一条记录 通过scan方式,设置startRow和stopRow参数进行范围匹配 全表扫描,即直接扫描整张表中所有行记录 rowkey长度原则 rowkey是一个二进制码

【HBase】Rowkey设计【转】

本章将深入介绍由HBase的存储架构在设计上带来的影响.如何设计表.row key.column等等,尽可能地使用到HBase存储上的优势. Key设计 HBase有两个基础的主键结构:row key和column key.它们分别用来表征存储的数据和数据的排序顺序.以下的几节将讨论如何通过key设计解决存储设计中发现的一些问题. 概念 相比于物理存储,首先谈谈表的逻辑结构.与传统的面向列的关系型数据库为基本单元不同,HBase的基本存储单元为列簇(column family).从图9-1可以看

HBase的rowkey设计(含实例)

转自:http://www.aboutyun.com/thread-7119-1-1.html 对于任何系统的数据设计,我们都想提高性能,达到资源最大化利用,那么对于hbase我们产生如下问题: 1.hbase rowkey设计如何才能提高性能?2.hbase rowkey如何设计才能散列到不同的节点上? 访问hbase table中的行,只有三种方式: 1 通过单个row key访问2 通过row key的range3 全表扫描 文中可能涉及到的API: Hadoop/HDFS:http://

大数据性能调优之HBase的RowKey设计

Hbase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定位. HBase中rowkey可以唯一标识一行记录,在HBase查询的时候,有以下几种方式: 通过get方式,指定rowkey获取唯一一条记录 通过scan方式,设置startRow和stopRow参数进行范围匹配 全表扫描,即直接扫描整张表中所有行记录 (较新的hbase还可以通过column和v

hbase之python利用thrift操作hbase数据和shell操作

前沿: 以前都是用mongodb的,但是量大了,mongodb显得不那么靠谱,改成hbase撑起一个量级. HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是松散型数据. HBase提供了丰富的访问接口. HBase Shell Java clietn API Jython.Groovy DSL.Scala REST Thrift(Ruby.Pyt

Hbase笔记——RowKey设计

一).什么情况下使用Hbase 1)传统数据库无法承载高速插入.大量读取. 2)Hbase适合海量,但同时也是简单的操作. 3)成熟的数据分析主题,查询模式确立不轻易改变. 二).现实场景 1.电商浏览历史 问题: 传统数据库 数据量很大,事情会变得复杂. Order by 消耗很多性能. 大量发生又无法分布式处理,顾客需要事实看到自己足迹,传统数据库无法使用缓存. Hbase 面向时间查询. 基于行健查询速度快,新产生数据存于内存中的memstore,完全没有IO开销. 分布式化解负荷. 思路

Hbase中rowkey设计原则

Hbase中rowkey设计原则 1.热点问题 在某一时间段,有大量的数据同时对一个region进行操作 2.原因 对rowkey的设计不合理 对rowkey的划分不合理 3.解决方式 rowkey是hbase的读写唯一标识 最大长度是64KB. 4.核心原则 设计必须按照业务需求进行设计 5.长度原则 经验:10~100字节可以 官方:16字节,因为操作系统时8字节进行存储 6.散列原则 划分region是按照rowkey的头部进行划分. 有几种方式: )组合字段 id+timestamp )