HBase 1.0 过滤问题
HBase 1.0 Filter issue
我正在使用 java 代码从 HBase 获取数据。我使用的过滤器如下:
假设值为 "1"
我将其转换为字节数组 valueInBytes
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("cf_name"),
Bytes.toBytes("FOLLOWER_ID"), CompareOp.EQUAL, valueInBytes);
ROW COLUMN+CELL
1 column=cf_name:USER_NAME, timestamp=1439264252424, value=aaa
2 column=cf_name:FOLLOWER_ID, timestamp=1439264252437, value=1
2 column=cf_name:USER_NAME, timestamp=1439264252437, value=bbb
3 column=cf_name:FOLLOWER_ID, timestamp=1439264252444, value=2
3 column=cf_name:USER_NAME, timestamp=1439264252444, value=ccc
它连同第 2 行一起获取第 1 行,因为没有字段 FOLLOWER_ID
。如何删除它?
我找到了答案。我需要设置 属性.
filter.setFilterIfMissing(true);
我正在使用 java 代码从 HBase 获取数据。我使用的过滤器如下:
假设值为 "1"
我将其转换为字节数组 valueInBytes
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("cf_name"),
Bytes.toBytes("FOLLOWER_ID"), CompareOp.EQUAL, valueInBytes);
ROW COLUMN+CELL
1 column=cf_name:USER_NAME, timestamp=1439264252424, value=aaa
2 column=cf_name:FOLLOWER_ID, timestamp=1439264252437, value=1
2 column=cf_name:USER_NAME, timestamp=1439264252437, value=bbb
3 column=cf_name:FOLLOWER_ID, timestamp=1439264252444, value=2
3 column=cf_name:USER_NAME, timestamp=1439264252444, value=ccc
它连同第 2 行一起获取第 1 行,因为没有字段 FOLLOWER_ID
。如何删除它?
我找到了答案。我需要设置 属性.
filter.setFilterIfMissing(true);