在基于Cloudera的HBase部署上运行一些测试代码时,我遇到了这个奇怪的问题。假设这些是我的行键(我实际行键结构的简化版本):
a_1
a_2
a_3
b_1
b_2
b_3
c_1
c_2
c_3
然后我用start,stop = b_2,c_2(独占)运行扫描,得到以下行:
b_2
b_3
c_1
当我为“?_2”添加一个模糊过滤器以保持相同的开始-停止位置时,它似乎忽略了开始-停止位置并返回以下行:
a_2
b_2
c_2
我希望:
b_2
因为a_2和c_2不在我的扫描范围之内。
现在这才变得有趣起来,我在PC上安装了单独的伪分布式HBase v 2.0.4,在此设置下它可以正常工作!唯一的区别是HBase版本和我的安装在群集上不起作用。
所以我试图找出为什么会发生这种情况,我有几个问题:
谢谢。
答案 0 :(得分:0)
这不是一个确切的答案,但是我将HBase 2.0.2部署到了我的环境中,并且现在可以使用了。我真的希望我能了解发生了什么,但我不能。也许是由于过时的版本导致的服务器-客户端版本不匹配,因为当时我正在使用多个版本。至少我读了足够多的HBase代码来回答我的一个原始问题,过滤器应该尊重扫描的起止行。