Hadoop HBASE中的SingleColumnValueFilter给定错误

Hadoop HBASE中的SingleColumnValueFilter给定错误,hadoop,hbase,cloudera,Hadoop,Hbase,Cloudera,我正在HBase上尝试过滤器,目前使用的是SingleColumnValueFilter 以下是我尝试过的查询: scan 'hi_rate', {COLUMNS => 'cf1:RateExpirationDate', LIMIT => 10, FILTER => "SingleColumnValueFilter(=,'19068PA','cf1','RateExpirationDate')"} scan 'hi_rate', {LIMIT => 10, FILTER

我正在HBase上尝试过滤器,目前使用的是
SingleColumnValueFilter

以下是我尝试过的查询:

scan 'hi_rate', {COLUMNS => 'cf1:RateExpirationDate', LIMIT => 10, FILTER => "SingleColumnValueFilter(=,'19068PA','cf1','RateExpirationDate')"}

scan 'hi_rate', {LIMIT => 10, FILTER => "SingleColumnValueFilter(=,'19068PA','cf1','RateExpirationDate')"}

scan 'hi_rate', {LIMIT => 10, FILTER => "SingleColumnValueFilter('cf1','RateExpirationDate',=,'19068PA')"}
它们都给出了相同的错误:

错误:不正确的筛选器字符串SingleColumnValueFilter(=,'19068PA', “cf1”,“费率到期日期”)


有人能帮我吗?

我在HBase表上查询时遵循的一般语法如下:

import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.util.Bytes

scan 'table_name', {FILTER => SingleColumnValueFilter.new(Bytes.toBytes('column_family_name'), Bytes.toBytes('column_name'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('value')) }
根据您的表更改表名、列族名和列名

假定

table_name = hi_rate 
column_family_name = cf1 
column_name = RateExpirationDate 
value = 19068PA
然后您的查询将变为

import org.apache.hadoop.hbase.filter.CompareFilter
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter
import org.apache.hadoop.hbase.util.Bytes

scan 'hi_rate', {FILTER => SingleColumnValueFilter.new(Bytes.toBytes('cf1'), Bytes.toBytes('RateExpirationDate'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('19068PA')) }