2013-08-13 1 views
0

hbase의 열을 색인화하기 위해 lucene 3.0.1을 사용하고 있습니다. lucene에서 쿼리를 만든 후 hbase에 쿼리를 만들고 데이터베이스에서 해당 행을 가져 오려면 이러한 모든 키에 대해 Java에서 키 배열 (hbase의 키가있는 형식)을 얻고 있습니다. hbase 문서에서 IN 연산자를 찾을 수 없습니다. 다른 옵션은 키 세트를 반복하고 hbase에 쿼리를 작성합니다. 그러나이 경우에는 hbase 데이터베이스 호출이 많이 생성됩니다. 어떤 다른 옵션이 있어도 많은 도움을받을 수 있습니다. 감사합니다hbase execute 배치 문

+1

같은 것을 할 필요가 일괄 처리로 모두를 가져올 수 [A를 얻을 수 목록] (http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html#get%28java.util.List%29). 목록에있는 각 Get은 lucene을 쿼리 한 후 얻은 키를 사용하여 생성됩니다. – Martias

답변

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); 
당신이 돌 수 있었다