HBase在扫描数据的时候,使用scanner表扫描器
扫描器缓存
hbase.client.scanner.caching配置项可以设置hbasescanner一次从服务器端抓取的数据条数,默认情况下一次一条。通过将其设置成一个合理的值,可以减少scan过程中next()的开销时间,代价是scanner需要通过客户端的内存来维持这些被cache的行记录
三个地方可以配置:
在hbse的conf配置文件中进行配置
通过调用htable.setscannercaching(int scannercaching)进行配置
通过调用scan.setcaching(int caching)进行配置
三者的优先级越来越高

public void hbaseScan(String tableName){
    Scan scan = new Scan();
    scan.setCaching(1000);//取1000条记录
    HTableInterface table = hConn.getTble(tableName);
    ResultScanner scanner=table.getScanner(scan);
    for(Result res:scanner){
        format(res);
    }   
}
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐