Hbase 的过滤器是个好东西..
给这种非关系型数据库本来不能复杂查询的情况得到了很好的扩展..提供了很多的帮助..
但是Filter的种类何其之多..让人眼花缭乱..
譬如..分页类型的PageFilter 是必要的一种过滤器..
另外根据其他条件..比如时间..比如关键字的过滤..都是常用的..
那么多种过滤器同时使用时..问题出现了..
PageFilter分页过滤 和 SingleColumnValueFilter关键词值过滤时
或者更复杂的另外附加的条件还有Rowkey的过滤 RowFilter..
很有可能条件都是对的却查不出数据..
那是因为你在附加FilterList时..PageFilter 附加的过早..
原理推测:
时间过滤和RowKey过滤都会影响最终结果的起始位置..
而附加PageFilter的时候是指定起始的RowKey的..(网上的例子都是PageFilter 和 StartRow 配合使用)
当然也可以不指定..但是系统是不是默认了第一行呢?(这里打个问号)
橘黄色的字不确定..只是我的推测..感觉有些站不住脚..
总之..如果先指定了PageFilter..后指定SingleColumnValueFilter的话..
条件正确但是获取不到数据..
不信你可以试试..
有懂的童鞋请严肃指正..
时间: 2024-10-31 21:39:04