java - 使用 java API 搜索 Hbase 记录?

标签 java hbase bigdata

我想根据值搜索记录和我在 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/

相关文章:

hadoop - Windows 上的 Mahout+Hadoop

java - 使用 Super/Sub 类型重载方法/构造函数

java - 是否可以在 JHipster 应用程序中获取用户的时区?

java - 无法在远程HBase表中插入记录

hadoop - HBase中的邻接表结构

python - 在 Django 应用程序中存储大数据的更好选择

hadoop - 如何将具有多个工作表的数据从Excel工作簿导出到Hadoop

java - 在jsp文件中导入java类时出错

java - 如何在android中获取实际时间和日期?

hadoop - 尝试创建表时出现 Phoenix 错误