【问题标题】:hbase search between composite keys - java复合键之间的hbase搜索 - java
【发布时间】:2013-07-10 19:41:34
【问题描述】:

在 h 基中,我的行键是字符串+日期的形式,例如:abc+01/03/2012

搜索基于 3 个参数(字符串、日期、日期):

1.) 第一个参数字符串应该与 + 号之前的行键匹配,因为我已经得到了

Filter rowFilter=new RowFilter(CompareOp.EQUAL, new BinaryPrefixComparator(Bytes.toBytes(ticker)));

因为这是搜索前缀,如果我搜索“ab”,我会得到“ab”和“abc”的结果,请问精确匹配的条件是什么?

2.) 第二个参数日期应该是 > 然后是从行键 abc+01/03/2012 中提取的行键日期。

3.) 第三个参数日期应该是

基本上日期应该只在提供的日期之间。

对此有什么可能的解决方案?谢谢

【问题讨论】:

    标签: java filter hbase


    【解决方案1】:

    尝试使用扫描设置开始行和停止行, 所以,你设置开始行=字符串+时间戳_1,停止行=字符串+时间戳_2。

    如果你需要找到像'string*'+ts这样的行,那么你需要编写你自己的DatePostfixComparator(startTs, endTs)。

    第二种情况会比第一种慢。

    【讨论】:

    • 感谢您为日期工作的回复。我仍然需要找出前缀的替代品。
    • 我可以使用 RegexStringComparator comp = new RegexStringComparator("abc+");在行而不是列上。
    • RegexStringComparator 可用于行、限定符和值
    猜你喜欢
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2012-11-24
    • 1970-01-01
    相关资源
    最近更新 更多