如何改进HBase扫描仪?

如何改进HBase扫描仪?,hbase,Hbase,我如何配置HBase,以便扫描程序一次只能检索多个记录?或者,当数据库包含大量记录时,如何改进扫描程序?我相信扫描程序实际上一次只请求一项,除非您设置缓存。您可以使用getCaching()进行检查以确保 每次调用ResultScanner#next(),它都会检索下一项。您还可以使用ResultScanner#next(int)一次检索多个结果 设置扫描仪时,您可以使用Scan#setCaching提前检索结果 很可能您的扫描仪速度很慢,因为您一次只能读取一条记录(包括RPC协议的所有来回操

我如何配置HBase,以便扫描程序一次只能检索多个记录?或者,当数据库包含大量记录时,如何改进扫描程序?

我相信扫描程序实际上一次只请求一项,除非您设置缓存。您可以使用getCaching()进行检查以确保

每次调用ResultScanner#next(),它都会检索下一项。您还可以使用ResultScanner#next(int)一次检索多个结果

设置扫描仪时,您可以使用Scan#setCaching提前检索结果


很可能您的扫描仪速度很慢,因为您一次只能读取一条记录(包括RPC协议的所有来回操作等等)。因此,如果您打算大量阅读,请让系统提前为您缓存一些结果。

您可能还需要检查筛选器API,它允许您有选择地将行或单元格的子集返回给客户端:。

您可以使用
扫描.setMaxResultSize
控制每次从
HBase
检索的记录。(这并不意味着您从此查询中获得的结果更少)

如果要限制SQL
等结果,请从表中选择Top100

您需要使用
页面过滤器
^ ^

以下URL对过滤器也有帮助: