Hadoop HBASE中的SingleColumnValueFilter给定错误
我正在HBase上尝试过滤器,目前使用的是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
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')) }