我有一个Hbase表,其中有一些行col1
限定符,而其余的则没有。这意味着并非所有行都具有col1
限定符。我想根据值col1
过滤dog
限定词。
我正在使用SingleColumnValueFilter
:
<Scanner batch="300">
<filter>
{
"type":"SingleColumnValueFilter",
"op":"EQUAL",
"family":"YW5pbWFs",
"qualifier":"Y29sMQ==",
"latestVersion":true,
"comparator":{
"type":"BinaryComparator",
"value":"ZG9n"
}
}
</filter>
</Scanner>
获得结果时,我观察到SingleColumnValueFilter
的异常行为。它不仅返回过滤的结果,还返回不存在限定符col1
的行。
有人遇到过同样的问题吗?如何解决?
答案 0 :(得分:0)
ifMissing
参数是一种解决方案。
默认情况下,SingleColumnValueFilter
似乎不对缺少限定符的行应用过滤器。可以通过ifMissing
参数启用缺少行过滤。
<Scanner batch="300">
<filter>
{
"type":"SingleColumnValueFilter",
"op":"EQUAL",
"family":"YW5pbWFs",
"qualifier":"Y29sMQ==",
"latestVersion":true,
"ifMissing": true,
"comparator":{
"type":"BinaryComparator",
"value":"ZG9n"
}
}
</filter>
</Scanner>