可能重复:
What is the most network efficient method of fetching a set of rows in HBase?
假设我有一组行键(作为Set)。除了此集合中的行之外,为所有行提取特定列族的网络效率最高的方法是什么?
答案 0 :(得分:1)
如果集合与总行数相比较小,则只需获取所有内容并在客户端代码中进行过滤。 hbase扫描器非常高效,并且具有可配置的结果缓存缓冲区以减少RPC调用。
您可以过滤返回给客户端的集合,但是此集合将被发送到所有节点,因此该数据的网络流量将乘以可能保存数据的节点数量。
您可以为每个键的扫描添加过滤器。
byte[] key = // ...
scan.setFilter( new RowFilter( CompareFilter.NOT_EQUAL, new BinaryComparator(key)));