57

HBase にはSQL LIMITクエリのように機能するコマンドはありますか?

setStartandで実行できますがsetEnd、すべての行を反復したくありません。

4

5 に答える 5

103

HBaseシェルから、LIMITを使用できます。

hbase> scan 'test-table', {'LIMIT' => 5}

Java APIから、Scan.setMaxResultSize(N)またはを使用できますscan.setMaxResultsPerColumnFamily(N)

于 2012-12-22T13:05:33.113 に答える
13

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

于 2014-02-20T08:18:57.530 に答える
7

HBase シェルを使用する場合、次のコマンドを使用してクエリ結果を制限できます。「LIMIT」は一重引用符で囲む必要があります。

scan 'table-name', {'LIMIT' => 10}
于 2014-02-27T21:22:40.887 に答える