(1)、Scanner Caching
hbase.client.scanner.caching配置项可以设置HBase scanner一次从服务端抓取的数据条数,默认情况下一次一条。通过将其设置成一个合理的值,可以减少scan过程中next()的时间开销,代价是scanner需要通过客户端的内存来维持这些被cache的行记录。
有三个地方可以进行配置:
1)在HBase的conf配置文件中进行配置;(一般不用次全局配置!!!)
2)通过调用HTable.setScannerCaching(int scannerCaching)进行配置;
3)通过调用Scan.setCaching(int caching)进行配置。三者的优先级越来越高。
(2)、Scan Attribute Selection
scan时指定需要的Column Family,可以减少网络传输数据量,否则默认scan操作会返回整行所有Column Family的数据。
(3)、Close ResultScanner
通过scan取完数据后,记得要关闭ResultScanner,否则RegionServer可能会出现问题(对应的Server资源无法释放)。
原文:https://www.cnblogs.com/wukongone/p/11972713.html