• FamilyFilter(4)


    3.1. 基于列族过滤数据的FamilyFilter
    构造函数:
    FamilyFilter(CompareFilter.CompareOp familyCompareOp, ByteArrayComparable familyComparator)
     
    个人实测代码:
            HTable table = HBaseDAO.getHTable("147patents");
     
            /**
             * FamilyFilter构造函数中第二个参数是ByteArrayComparable类型
             * ByteArrayComparable类参见“引言-参数基础”章节
             * 下面仅以最可能用到的BinaryComparator、BinaryPrefixComparator举例:
             */
            FamilyFilter ff = new FamilyFilter(
                    CompareFilter.CompareOp.EQUAL , 
                    new BinaryComparator(Bytes.toBytes("pat"))   //表中不存在pat列族,过滤结果为空
                    );
            FamilyFilter ff1 = new FamilyFilter(
                    CompareFilter.CompareOp.EQUAL , 
                    new BinaryPrefixComparator(Bytes.toBytes("pat"))   //表中存在以pat打头的列族patentinfo,过滤结果为该列族所有行
                    );
            Scan scan = new Scan();
            scan.setFilter(ff1);
            ResultScanner rs = table.getScanner(scan); 
     
    注意:
    1. 如果希望查找的是一个已知的列族,则使用 scan.addFamily(family)  比使用过滤器效率更高;
    2. 由于目前HBase对多列族支持不完善,所以该过滤器目前用途不大。
  • 相关阅读:
    Swift相比OC语言有哪些优点
    Swift实战技巧
    Swift 并行编程现状和展望
    Swift设置只读(readOnly)属性
    Swift零基础教程2019最新版(一)搭建开发环境
    中文版 Apple 官方 Swift 教程《The Swift Programming Language》
    一个中文的苹果开发站
    simulink创建简单模型
    Simulink 产品说明
    matlab中的实时音频
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/6777783.html
Copyright © 2020-2023  润新知