2012-12-20 4 views
0

여기에서 최대 값의 행과 해당 값을 가져 오려고했습니다. 대신 표준 반복 중독, 내가 어떤 기능값 열에서 hbase 테이블의 최대 값을 얻는 방법은 무엇입니까?

Scan s = new Scan(); 
ResultScanner re = table.getScanner(s); 
int maxVal =0;   
try{ 
    for (Result rr = re.next(); rr != null; rr = re.next()) { 
     byte [] row = rr.getRow(); 
     Get g = new Get(row); 
     Result r = table.get(g);     
     String rn = Bytes.toString(r.value()); 
     int temp = Integer.parseInt(rn); 
     if(maxVal < temp) 
     maxVal = temp; 
    } 
    System.out.println(maxVal); 
} 
finally { 
    re.close(); 
} 

답변

0

최대() 메소드가 존재하는 경우 알고 싶어하지만, "org.apache.hadoop.hbase.client.coprocessor"에 존재합니다. co-procs로 괜찮 으면 시도해 볼 수 있습니다. 주어진 범위에 대해 주어진 열 패밀리에 대한 열의 최대 값을 제공합니다. 첫 번째와 마지막 열을 여기에 범위로 지정하고 최대 값을 얻을 수 있습니다. 이것에 대한 자세한 정보는 here

관련 문제