hbase的api操作之scan

扫描器缓存
----------------
    面向行级别的。
    @Test
    public void getScanCache() throws IOException {

Configuration conf = HBaseConfiguration.create();
        Connection conn = ConnectionFactory.createConnection(conf);
        TableName tname = TableName.valueOf("ns1:t1");
        Scan scan = new Scan();
        scan.setCaching(5000);
        Table t = conn.getTable(tname);
        ResultScanner rs = t.getScanner(scan);
        long start = System.currentTimeMillis() ;
        Iterator<Result> it = rs.iterator();
        while(it.hasNext()){
            Result r = it.next();
            System.out.println(r.getColumnLatestCell(Bytes.toBytes("f1"), Bytes.toBytes("name")));
        }
        System.out.println(System.currentTimeMillis() - start);
    }
批量扫描是面向列级别
--------------------
    控制每次next()服务器端返回的列的个数。
    scan.setBatch(5);                //每次next返回5列。

上一篇:编写高质量代码改善C#程序的157个建议——建议150:使用匿名方法、Lambda表达式代替方法


下一篇:linux – 列出多个.tar存档文件的内容