hbase执行批处理语句

时间:2013-08-13 12:50:58

标签: database lucene hbase

我正在使用lucene 3.0.1来索引hbase中的列。在lucene中进行查询后,我在java中获得了一组键(其格式与hbase中的键相同),现在对于所有这些键,我想查询hbase并从数据库中获取相应的行。我无法在hbase文档中找到IN运算符,其他选项是我遍历一组键并对hbase进行查询,但在这种情况下,我将进行大量的hbase数据库调用。有没有其他选择任何帮助非常感谢。谢谢

1 个答案:

答案 0 :(得分:1)

HTable类的get方法可以接受GET对象列表并将它们全部作为批处理see the documentation

获取

你基本上需要做类似

的事情
 List<Get> rowsToGet= new ArrayList<Get>();
 for (String id:resultsFromLucene)
       rowsToGet.add(new Get(Bytes.toBytes(id)));  
 Result[] results = htable.get(rowsToGet);