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

Ank*_*ush 0 hbase

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

我正在使用的shell命令:

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

但是,得到以下错误:

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')
Run Code Online (Sandbox Code Playgroud)

Kri*_*ris 6

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

{ FILTER => "SingleColumnValueFilter('f1', 'col_a', >, 'binary:1')" }
Run Code Online (Sandbox Code Playgroud)

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

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