nosql – 使用HBase shell使用过滤器进行扫描

前端之家收集整理的这篇文章主要介绍了nosql – 使用HBase shell使用过滤器进行扫描前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人知道如何扫描记录基于一些扫描过滤器,例如:

column:something =“somevalue”

有点像this,但是从HBase shell?

尝试这个。这是一种丑陋,但它适用于我。
import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.filter.SubstringComparator
import org.apache.hadoop.hbase.util.Bytes
scan 't1',{ COLUMNS => 'family:qualifier',FILTER =>
    SingleColumnValueFilter.new
        (Bytes.toBytes('family'),Bytes.toBytes('qualifier'),CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new('somevalue'))
}

HBase shell将包括你在〜/ .irbrc中的任何内容,所以你可以把这样的东西(我没有Ruby专家,欢迎改进):

# imports like above
def scan_substr(table,family,qualifier,substr,*cols)
    scan table,{ COLUMNS => cols,FILTER =>
        SingleColumnValueFilter.new
            (Bytes.toBytes(family),Bytes.toBytes(qualifier),SubstringComparator.new(substr)) }
end

然后你可以在shell中说:

scan_substr 't1','family','qualifier','somevalue','family:qualifier'

猜你在找的NoSQL相关文章