2011-11-06 1 views
0

시나리오 : HBase를 테이블에서 다른 항목은 예를 들어, 서로 다른 행에있다 : ROW1는 열 FM이 A, FM : B, FM : c를 ROW2는 열 FM이 A, FM : dhbase에서 행을 필터링하기 위해 "여러 AND를 열에서"사용하는 방법? 이런

그래서 행에 fm : a & fm : b 열이 있는지 검사하는 데 스캔을 사용하고 싶다면이 행을 반환하고, 그렇지 않으면이 행을 검사 결과에 반환하지 말아야합니다. 위의 경우, 난 그냥 row1 반환 싶습니다.

필터 레벨에서 hbase의 필터를 확인한 것처럼 보이지만 성능이 좋지 않습니다. 어떤 아이디어?

답변

0

이렇게 각 열을 scan-sth에 추가해야합니다. 해시 테이블 만들기, ht

for each columnFamily in ht: 
    { for each column in columnFamily: 
    { scan.addColumn(Bytes.toBytes(columnFamily), Bytes.toBytes(column)); } 
    }