java – 缺少列的记录的Hbase扫描过滤器或列值为空

我在col系列(CF)中有3个cols {col1,col2,col3}.我想写一个扫描,我选择所有行col1 =’val1’和col2 =’val2’并且(col3缺失或col3为null).

Java中这样做 – 抱歉,我对hbase完全不了解;-)

最佳答案 我在网上找到答案时遇到了很多麻烦.我终于明白了,而且很简单 – 只是没有答案:

    Scan scanner = new Scan();

    SingleColumnValueFilter filter = new SingleColumnValueFilter(
        Bytes.toBytes( "some family" ),
        Bytes.toBytes( "some column" ),
        CompareFilter.CompareOp.EQUAL,
        Bytes.toBytes( "" )
    );
    filter.setFilterIfMissing( false );

    scanner.setFilter( filter );
    return scanner;

解决方案的关键部分是将setFilterIfMissing设置为false并与空字符串进行比较.

点赞