如何从值列中获取hbase表的最大值?

时间:2012-12-20 09:48:57

标签: 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();
}

1 个答案:

答案 0 :(得分:0)

有一个max()方法,但它出现在“org.apache.hadoop.hbase.client.coprocessor”中。如果你可以使用co-procs,那么你可以尝试一下。它给出给定范围的给定列族的列的最大值。您可以将第一列和最后一列作为范围,并获得最大值。有关详细信息,请访问here