我想在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 = new Get(Bytes.toBytes("rowkey"));
            String[] family = { "row1" };
get.addColumn(Bytes.toBytes("family1"),Bytes.toBytes("qualifier1"));
Result rs = table.get(get);

现在我想通过“这是测试记录”值来搜索此记录。

帮我找到这个记录。

===============>>#1 票数:2 已采纳

使用过滤器可以搜索任何元素,并且可以为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"))));

这对我有用。

===============>>#2 票数:1

查看HTable上的get()方法和Get类,它类似于HTablePut类上的put()方法。

  ask by jayesh translate from so

未解决问题?本站智能推荐:

1回复

HBASE备份-导出/导入的Java API如何工作?

我正在备份约70TB的HBASE数据存储。 我们已经决定将单个表备份到HDFS(目前)。 我在这里遇到了用于导出/导入的Java API: http : //hbase.apache.org/book/ops_mgt.html#export 。 Apache的网站上没有太多信息,我想知道人
1回复

使用Java在HBase中检索第N个限定词

这个问题是开箱即用的,但是我需要它。 在list(collection)中,我们可以通过list.get(i);检索列表中的第n个元素。 同样,在hbase中,有没有使用Java API的方法,在给定行ID和ColumnFamily名称的情况下,我可以得到第n个限定符。 注意:
1回复

使用Java在Hbase中使用过滤器获取固定行

在我的应用程序中,我需要从Hbase提取数据,并且需要对该数据应用过滤器,并且需要限制要提取的记录数。 以下是我编写的代码: 筛选器工作正常,但是我正在获取完整的数据集。 scan.setFilter(new PageFilter(10))无法正常工作。 我只需要提取与提供的过滤器
1回复

使用Java检索hbase中的任何三个随机限定符

我的hbase表如下所示: 其中所有4都是行ID,而108,112,12 ...是限定符。 我想从该表TEST中获取随机的三个限定词。 我可以获取所有限定符,但不能获取随机的三个限定符。 我是否可以通过java中的任何shell命令或API来实现此目的?
1回复

将数据从API加载到HBase

我正在使用一个第三方服务,该服务聚合数据并公开用于访问数据的REST API。 我现在正在尝试获取这些数据并将其加载到我们的本地HBase群集中。 我创建了一个Java应用程序,该程序从该第三方服务获取数据,进行处理,然后使用HBase客户端API将其加载到我们的集群中。 对于此应用程
1回复

限制HBase Java上的命令

使用过滤器在hbase上限制扫描方法的结果的方法很少 或使用setBatch 我想问的是: 哪种情况更适合在哪种情况下使用? 哪一个提供更好的性能? 有没有更好的方法来使用限制? 我使用的是hbase客户端api 1.0.0和HBase 1.0.
1回复

HBase不存储所有记录

我在MongoDB数据库中有1.2M记录。 我想以编程方式将所有这些数据存储在HBase中 。 基本上我尝试将每个检索到的记录放入循环中的HBase。 操作完成后,我在HBase上只获得了39912条记录。 这是我尝试过的:
1回复

使用Asyc HBase Scanner进行复杂的正则表达式

我已经开始使用异步HBase库。 我正在尝试使用TableInputFormat。 我不需要Map Reduce作业的所有行,因此我通过在TableRecordReader中为扫描仪对象指定正则表达式来修改了代码。 基本上,我只是在正则表达式中使用OR( | )追加所需行的键。 当
1回复

使用基于非主键值的Get类在Hbase中检索多行

使用org.apache.hadoop.hbase.client包中Get类中的方法,我一次只能基于行键检索一条记录。 是否有任何方法可以基于任何其他非主列的值来检索多行(在java中)。
1回复

HBase addColumn和setFilter

我正在扫描HBase,方法是使用我想要的特定列名设置Scanner,使用列过滤器设置一系列列。 添加单个行: 我还添加了一个Column过滤器: 所有变量都有正确的值。 我正在扫描如下 results始终为null。 但是,如果我注释掉scanner.setFi