Hbase SingleColumnValueFilter return raw 如果列不存在
Hbase SingleColumnValueFilter return raw if column doesn't exists
我有一个 Hbase table,它有一些行 col1
限定符,而其余的则没有。这意味着并非所有行都有 col1
限定符。我想在值 dog
.
上过滤 col1
限定符
我正在使用 SingleColumnValueFilter
:
<Scanner batch="300">
<filter>
{
"type":"SingleColumnValueFilter",
"op":"EQUAL",
"family":"YW5pbWFs",
"qualifier":"Y29sMQ==",
"latestVersion":true,
"comparator":{
"type":"BinaryComparator",
"value":"ZG9n"
}
}
</filter>
</Scanner>
我在获取结果时观察到 SingleColumnValueFilter
的奇怪行为。它 returns 不仅过滤结果而且 returns 限定符 col1
不存在的行。
有人遇到过同样的问题吗?如何解决?
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>
我有一个 Hbase table,它有一些行 col1
限定符,而其余的则没有。这意味着并非所有行都有 col1
限定符。我想在值 dog
.
col1
限定符
我正在使用 SingleColumnValueFilter
:
<Scanner batch="300">
<filter>
{
"type":"SingleColumnValueFilter",
"op":"EQUAL",
"family":"YW5pbWFs",
"qualifier":"Y29sMQ==",
"latestVersion":true,
"comparator":{
"type":"BinaryComparator",
"value":"ZG9n"
}
}
</filter>
</Scanner>
我在获取结果时观察到 SingleColumnValueFilter
的奇怪行为。它 returns 不仅过滤结果而且 returns 限定符 col1
不存在的行。
有人遇到过同样的问题吗?如何解决?
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>