在HBase中获取除一组给定行之外的所有行的网络效率最高的方法是什么?

时间:2011-11-30 05:48:13

标签: java hbase

  

可能重复:
  What is the most network efficient method of fetching a set of rows in HBase?

假设我有一组行键(作为Set)。除了此集合中的行之外,为所有行提取特定列族的网络效率最高的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果集合与总行数相比较小,则只需获取所有内容并在客户端代码中进行过滤。 hbase扫描器非常高效,并且具有可配置的结果缓存缓冲区以减少RPC调用。

您可以过滤返回给客户端的集合,但是此集合将被发送到所有节点,因此该数据的网络流量将乘以可能保存数据的节点数量。

您可以为每个键的扫描添加过滤器。

byte[] key = // ...
scan.setFilter( new RowFilter( CompareFilter.NOT_EQUAL, new BinaryComparator(key)));