2016-07-13 4 views
1

データのスキャンを実行する際に順次データの行の総数を制限する方法はありますか?HBase - Javaクライアントの制限スキャン結果の説明?

注:

  • 私はsetMaxResultSizeとsetMaxResultsPerColumnFamilyの両方を試してみた50万総行
  • で働いています。
  • 私はPageFilter(サイズ10)を設定することに取り組んできましたが、これは問題なく動作しています(これらの2つの関数の関係は何ですか?この動作では、5つの異なるシーケンスデータセット10が表示されます。
  • PageFilterのサイズとsetMaxResultSizeを同じに設定することで、実際にはsudoを実行しています。どちらかを変更すると、PageFilterに準拠します。また、setMaxResultSizeをかなり大きくすると、PageFilterサイズの別の大きなサブセットにジャンプします。
  • HBaseのバージョン1.1.1

で誰かが良く、ここで起こって、どのように私が望む結果を得ることであるかを説明することはできますか?

答えて

1

hbaseシェルまたはhbase javaクライアントを使用できます。

の1- HBaseのシェル:このコマンドとパイプファイルに結果を使用して行う "WC -l ..."

数 'TABLE_NAME'、1つの

2 - javaのHBaseのクライアントAPI

long count=0; 
String row=""; 

for (Result res : scanner) 
{ 
    for (Cell cell : res.listCells()) 
    { 
     row = new String(CellUtil.cloneRow(cell)); 
     if(!row.equals("")) 
      count++; 
    } 
} 
+0

Javaの例は、空でない行を数え、返されるデータを制限しないように見えます。 – Rick

+0

そのロジックを変更することができます。ポイントは、あなたが数える必要があるものを数えるためにスキャナを繰り返すことでした。 – user3338391

+2

しかし、私は何も数えたくありません。私は返される行を制限したい。 – Rick