ホームページ > データベース > mysql チュートリアル > HBase“扫描器”scanner使用和优化

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

WBOY
リリース: 2016-06-07 16:29:59
オリジナル
1094 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート