hbase中的singlecolumnvaluefilter给定错误

kqqjbcuj  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(541)

我正在试用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','rateexpirationdate'不正确)
有人能帮我吗?

zaq34kh6

zaq34kh61#

我在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')) }

相关问题