6

スキャナーが一度に多数のレコードのみを取得するように HBase を構成するにはどうすればよいですか? または、データベースに多くのレコードが含まれている場合にスキャナーを改善するにはどうすればよいですか/

4

3 に答える 3

11

キャッシュを設定しない限り、スキャナーは実際には一度に 1 つのアイテムしか要求しないと思います。getCaching() で念のため確認できます

ResultScanner#next() を呼び出すたびに、次のアイテムが取得されます。ResultScanner#next(int) を使用して、一度に多数の結果を取得することもできます。

スキャナーをセットアップするときは、Scan#setCaching を使用して事前に結果を取得できます http://hadoop.apache.org/hbase/docs/r0.20.4/api/org/apache/hadoop/hbase/client/Scan.html# setCaching(int)

一度に 1 つのレコードしか読み取っていないため (RPC プロトコルの前後のすべてを含む)、スキャナーが遅い可能性があります。したがって、大量に読み取る場合は、事前にシステムにいくつかの結果をキャッシュさせてください。

于 2010-05-11T06:45:22.440 に答える
5

行またはセルのサブセットを選択的にクライアントに返すことができる Filter API を調べることもできます: http://hadoop.apache.org/hbase/docs/current/api/org/apache/hadoop/ hbase/filter/package-summary.html .

于 2010-05-13T08:28:32.553 に答える