Filter 如何使用;“多个和在列中”;要过滤hbase中的行?

Filter 如何使用;“多个和在列中”;要过滤hbase中的行?,filter,hbase,database-scan,Filter,Hbase,Database Scan,类似这样的场景: 在hbase表中,不同的行有不同的列,例如: 第1行有fm:a、fm:b、fm:c列 第2行有fm:a、fm:d列 因此,我想使用扫描来测试一行是否同时具有fm:a和fm:b列,如果是,则返回此行,否则,在扫描结果中不应返回此行。在上述情况下,我只想返回第1行 我在hbase中检查了过滤器,看起来如果在过滤器级别执行此操作,性能将很差。有什么想法吗?你需要把每一列都添加到扫描中,就像这样。 创建一个哈希表,比如ht for each columnFamily in ht:

类似这样的场景: 在hbase表中,不同的行有不同的列,例如: 第1行有fm:a、fm:b、fm:c列 第2行有fm:a、fm:d列

因此,我想使用扫描来测试一行是否同时具有fm:a和fm:b列,如果是,则返回此行,否则,在扫描结果中不应返回此行。在上述情况下,我只想返回第1行


我在hbase中检查了过滤器,看起来如果在过滤器级别执行此操作,性能将很差。有什么想法吗?

你需要把每一列都添加到扫描中,就像这样。 创建一个哈希表,比如ht

for each columnFamily in ht:
   { for each column in columnFamily:
     { scan.addColumn(Bytes.toBytes(columnFamily), Bytes.toBytes(column)); }
   }