HBase 过滤器比较两列

Posted

技术标签:

【中文标题】HBase 过滤器比较两列【英文标题】:HBase filter to compare two columns 【发布时间】:2013-12-05 11:43:58 【问题描述】:

例如,假设每一行包含三列:

family1:A='10'
family1:B='45'
family1:C='35'

1) 有没有办法制作一个只返回 A>B 行的 HBase 过滤器?

2) 有没有办法制作一个只返回 (A-B)>C 行的 HBase 过滤器?

【问题讨论】:

【参考方案1】:

不!问题是即使在同一行和同族中,扫描仪也不能真正随机访问限定符。所以,如果他们要尝试制作这样的过滤器,他们必须来回跳过,现在阅读A,现在阅读B,等等。

根据您的用例,您可以自己在另一个限定符中实现差异,或者使用 map-reduce 作业。

【讨论】:

以上是关于HBase 过滤器比较两列的主要内容,如果未能解决你的问题,请参考以下文章

HBase 过滤器

hbase的过滤器查询

Hbase 过滤器查询

在Hbase使用过滤器(行键过滤器列族与列过滤器值过滤器)

Hbase Filter过滤器查询详解

比较两列并过滤列与相邻类