Hbase Shell ValueFilter错误 - “java.lang.IllegalArgumentException:错误的过滤字符串ValueFilter(=,'723270266')”

时间:2013-01-01 18:51:02

标签: hbase

我正在尝试扫描hbase表并按列值过滤行。

我正在使用的shell命令:

scan 'audit', {COLUMNS => 'cf1:n_id', LIMIT => 1, FILTER => "ValueFilter(=, '723270266')"}

但是,得到以下错误:

Caused by: java.lang.IllegalArgumentException: Incorrect comparator
at org.apache.hadoop.hbase.filter.ParseFilter.parseComparator(ParseFilter.java:815)
at org.apache.hadoop.hbase.filter.ParseFilter.createComparator(ParseFilter.java:789)
at org.apache.hadoop.hbase.filter.CompareFilter.extractArguments(CompareFilter.java:134)
at org.apache.hadoop.hbase.filter.ValueFilter.createFilterFromArguments(ValueFilter.java:68)
... 212 more

ERROR: java.lang.IllegalArgumentException: Incorrect filter string ValueFilter(=, '723270266')

1 个答案:

答案 0 :(得分:6)

问题在于您申请扫描的查询。

{ FILTER => "SingleColumnValueFilter('f1', 'col_a', >, 'binary:1')" }

是在shell中处理过滤器的示例。除字符串数据之外的类型需要类型前缀。需要指定族和限定符。

如果您只需要查看数据,应用一些过滤器就可以使用我构建的这个简单工具Hbase Manager。您可以将此工具用于0.95.4和0.92版本的Hbase。