1

開始行と停止行を使用した後にスキャンされるレコードの数を制限する Java API はありますか? pagefilter はオプションですか?

4

4 に答える 4

1

setMaxResultSize()を使用しようとしましたか?

PageFilter は期待どおりの結果をもたらさない可能性があります。ドキュメントには次のように書かれています。

このフィルターは、クライアントに返される結果の数がページ サイズ以下であることを保証できません。これは、フィルタが異なるリージョン サーバーに個別に適用されるためです。ただし、ローカルでページ サイズを超えないようにすることで、個々の HRegions のスキャンを最適化します。

于 2014-05-20T09:47:20.593 に答える
0

この回答は、単一の行のみを取得する場合に適用されます

setLimitが利用できない古いバージョンの HBase を使用している場合は、代わりにstopRowを使用してstartRowと同じ値を指定し、ゼロに設定された末尾のバイトを追加して包括的にすることができます:

注: stopRow を含めるには、末尾に 0 バイトを追加します

次に例を示します。

    byte[] startRow = new byte[] { (byte)0xab, (byte)0xac};
    byte[] stopRow = new byte[startRow.length + 1];
    Array.copy(startRow, 0, stopRow, 0, startRow.length);
    stopRow[stopRow.length - 1] = 0; // inclusive
    Scan scan = new Scan().setStartRow(startRow).setStopRow(stopRow);
    
于 2020-08-11T09:02:43.900 に答える