我想根据值搜索记录和我在 Java 中的应用
我使用下面的代码存储记录
HTable table = new HTable(conf, tableName);
Put put = new Put(Bytes.toBytes(rowKey));
put.add(Bytes.toBytes(family), Bytes.toBytes(qualifier),
Bytes.toBytes(value));
table.put(put);
我传递值
Put put = new Put(Bytes.toBytes("rowkey"));
put.add(Bytes.toBytes("family1"), Bytes.toBytes("qualifier1"),
Bytes.toBytes("this is test record"));
这是我的get实现
Get get = new Get(Bytes.toBytes("rowkey"));
String[] family = { "row1" };
get.addColumn(Bytes.toBytes("family1"),Bytes.toBytes("qualifier1"));
Result rs = table.get(get);
现在我想通过“这是测试记录”的值来搜索这条记录。
帮我找到这条记录。
最佳答案
使用过滤器,您可以对任何元素进行搜索,并且可以传递不同的组合 对于 SubstringComparator BinaryComparator
FilterList flist = new FilterList();
flist.addFilter(new RowFilter(CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes("Predicatevalue"))));
flist.addFilter(new QualifierFilter(CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("Subject value"))));
flist.addFilter(new ValueFilter(CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("Objectvalue"))));
这对我有用。
关于java - 使用 java API 搜索 Hbase 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177568/