HBase—扫描器

Scanner扫描器

HBase在扫描数据时,使用Scanner表扫描器。

HTable通过一个Scan实例,调用getScanner(scan)来获取扫描器。可以配置扫描器起止位,以及其他的过滤条件。

通过迭代器返回查询结果,使用起来虽然不是很方便,但是并不复杂。但是这里有一点可能被忽视的地方,就是返回的scanner迭代器,每次调用next的获取下一条记录的时候,默认配置下会访问一次RegionServer。这在网络不是很好的情况下,对性能的影响是很大的。

所以建议配置扫描器缓存。

扫描器缓存

hbase.client.scanner.caching配置项可以设置HBase scanner一次从服务器抓取的数据条数,默认情况下一次一行。通过将其设置成一个合理的值,可以减少scan过程中next()的时间开销,代价是scanner需要通过客户机的内存来维持这些被cache的行的记录。

1)在HBase的conf配置文件中进行配置

2)通过调用HTable.setScannerCaching(int scannerCaching)进行配置

3)通过调用Scan.setCaching(int caching)进行配置,三者的优先级越来越高。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值