HBase にはSQL LIMIT
クエリのように機能するコマンドはありますか?
setStart
andで実行できますがsetEnd
、すべての行を反復したくありません。
HBaseシェルから、LIMITを使用できます。
hbase> scan 'test-table', {'LIMIT' => 5}
Java APIから、Scan.setMaxResultSize(N)
またはを使用できますscan.setMaxResultsPerColumnFamily(N)
。
PageFilterというフィルターがあります。この目的のためのものです。
Scan scan = new Scan(Bytes.toBytes("smith-"));
scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("givenName"));
scan.addColumn(Bytes.toBytes("contactinfo"), Bytes.toBytes("email"));
scan.setFilter(new PageFilter(25));
ResultScanner scanner = table.getScanner(scan);
for (Result result : scanner) {
// ...
}
http://java.dzone.com/articles/handling-big-data-hbase-part-4
HBase シェルを使用する場合、次のコマンドを使用してクエリ結果を制限できます。「LIMIT」は一重引用符で囲む必要があります。
scan 'table-name', {'LIMIT' => 10}