在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'