HBase Scan命令详解

本文详细介绍了HBase中的scan命令和filter的使用。从插入数据开始,讲解HBase的三维有序存储特性,接着讨论了多种filter及其用法,包括BinaryComparator、RegexStringComparator等。还给出了多个scan命令实例,如按rowKey、特定值或正则表达式查询数据。注意,指定的COLUMNS需包含FILTER中所使用的列。最后强调了filter的工作原理及其在结果过滤中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hbase中scan命令是我们经常使用到的,而filter的作用尤其强大。这里简要的介绍下scan下filter命令的使用.

插入scan命令需要的数据

这里模拟了部分微博评论的数据,然后使用代码插入数据到hbase,代码就不列出来了比较简单。

public class Comment {
   
    //1-->普通文章,2--->热点文章
    Integer articleType;
    //文章id
    String articleId;
    String userId;
    long timestamp;
    //comment content,暂时只考虑文本
    String commentContent;
}

hbase的表名称为zy_comment,列簇info下有articleType以及commentInfo两个列。commentInfo的value为上面Comment类的json字符串,插入的数据如下所示

插入数据
插入数据

HBase数据顺序

HBase是三维有序存储的,是指rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度是依照ASCII码表排序的。(比如A排在a前面)

  1. 先rowkey升序排序,
  2. rowkey相同则column key升序排序
  3. rowkey、column key相同则timestamp降序排序

支持的Filter

scan命令我们经常会大量使用Filter,hbase shell提供的filter都可以在hbase client包中找到对应的类,它们都是Filter的子类,很多命令都是通过filter来进行实现的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值