2013-01-11 94 views
2

运行在HBase的外壳下面的命令,试图让QualifierFilter工作:HBase的shell命令:如何使用QualifierFilter

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 
import org.apache.hadoop.hbase.filter.QualifierFilter 
import org.apache.hadoop.hbase.filter.BinaryComparator 

得到下面的错误

hbase(main):011:0> scan 'test', { FILTER => QualifierFilter.new(CompareFilter.CompareOp.GREATER, 'dummy')} 
NoMethodError: undefined method `CompareOp' for Java::OrgApacheHadoopHbaseFilter::CompareFilter:Class 

灿有人分享一个例子,说明hbase QualifierFilter如何在bhase shell中工作。

回答

6

HBase的控制台是JRuby-based,你必须使用::,而不是.的静态参考。

尝试命令:

hbase(main):011:0> scan 'test', { FILTER => QualifierFilter.new(CompareFilter::CompareOp::GREATER, 'dummy')}