首頁 > 資料庫 > mysql教程 > HBase“扫描器”scanner使用和优化

HBase“扫描器”scanner使用和优化

WBOY
發布: 2016-06-07 16:29:59
原創
1092 人瀏覽過

HBase在扫描数据的时候,使用scanner表扫描器。HTable通过一个Scan实例,调用getScanner(scan)来获取扫描器。可以配置扫描起止位,以及其他的过滤条件。通过迭代器返回查询结果,使用起来虽然不是很方便,不过并不复杂。但是这里有一点可能被忽略的地方,就

HBase在扫描数据的时候,使用scanner表扫描器。HTable通过一个Scan实例,调用getScanner(scan)来获取扫描器。可以配置扫描起止位,以及其他的过滤条件。通过迭代器返回查询结果,使用起来虽然不是很方便,不过并不复杂。但是这里有一点可能被忽略的地方,就是返回的scanner迭代器,每次调用next的获取下一条记录的时候,默认配置下会访问一次RegionServer。这在网络不是很好的情况下,对性能的影响是很大的。测试中,未配置前,一个业务的消耗时间为:

Cost time: 159941

通过:

scan.setCaching(10000);
登入後複製

指定一次取出10000条记录后,该业务的消耗时间为:

Cost time: 64845

因为该 业务访问数据次数很多,所以效果很明显。

也有说可通过修改配置项hbase.client.scanner.caching的值,来使该配置生效。不过,OneCoder这里在hbase-site.xml中增加了该配置却没有生效。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板