2013-01-11 91 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')}