使用JavaAPI搜索hbase记录?

9vw9lbht  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(282)

我想搜索记录的基础上的价值和我的应用程序在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);

现在我想通过“this is test record”值来搜索这个记录。
帮我找到这张唱片。

2w3kk1z5

2w3kk1z51#

使用filter可以搜索任何元素,并且可以为substringcomparator二进制comparator传递不同的组合

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"))));

这是我的工作。

6tqwzwtp

6tqwzwtp2#

看看这个 get() 上的方法 HTable 和get类,它们类似于 put() 上的方法 HTable 以及 Put 班级。

相关问题