hbase shell - 使用filter進行scan

五柳-先生發表於2016-03-31

在hbase的命令列中,可以直接使用filter進行scan,命令如下所示

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'))
}

如果是filter是自定義的,則首先將filter的jar包複製到hbase叢集的所有結點上,再重啟hbase,

在命令列中使用該自定義filter時,需要給import命令後的filter類名加入引號,比如import "test.testfilter";否則,如果使用NameError: undefined local variable or method `test' 

相關文章