2

rowkeyHBaseテーブルで最大値を取得するにはどうすればよいですか?

2行のテーブルがあります。

TT-0001 column=cf:col-1, timestamp=1341218075789, value=abc
TT-0002 column=cf:col-1, timestamp=1341218075789, value=abc

row2(rowkeyのmaxvalue)を取得したい。

Hbaseでこれを行うにはどうすればよいですか?

4

2 に答える 2

1

選択した行キーを使用すると、単にテーブルの「最後の」行を返し、行キーだけを出力できます (「TT-」の後ろの数字を増やすだけだと思います)。また、値を発行するKeyOnlyFilterを利用することもできます。また、独自の方法を使用して、どの行キーが最大かを確認することもできます。

私はあなたの生成のような行キーをお勧めしないので、おそらく行キーの設計、特に提供されたリンクのセクション6.3.3をチェックする必要があります。名前付きセクションで概説したように、最新の最新の行が最初の行になります。

于 2012-07-02T09:25:31.863 に答える
1

HTable クラスの getRowOrBefore() メソッドは、これを行うのに役立ちます。たとえば、

HTable table=new HTable(conf,"test");
Result result=table.getRowOrBefore(Bytes.toBytes("TT-9999"),Bytes.toBytes("colfam"));
System.out.println(Bytes.toString(result.getRow()));
于 2013-11-25T13:39:39.737 に答える