如果列不存在,则Hbase SingleColumnValueFilter返回raw

时间:2019-12-02 15:47:17

标签: rest hbase hbase-filter

我有一个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的行。

有人遇到过同样的问题吗?如何解决?

1 个答案:

答案 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>