Hbase REST API:时间范围扫描

Hbase REST API:时间范围扫描,rest,hadoop,hbase,Rest,Hadoop,Hbase,问:如何使用扫描指定时间范围的Hbase 我尝试了以下代码: <Scanner batch="1048576"> <filter> { "type": "PrefixFilter", "value": "NThiMDNjYWRlNTc5NmIwOWI0OGViMTdl", // base64 encoded "58b03cade5796b09b48eb17e" "timer

问:如何使用扫描指定时间范围的Hbase

我尝试了以下代码:

<Scanner batch="1048576"> 
    <filter>
        { 
            "type": "PrefixFilter",
            "value": "NThiMDNjYWRlNTc5NmIwOWI0OGViMTdl", // base64 encoded "58b03cade5796b09b48eb17e"
            "timerange": ["1489502797781", "1489502797788"]
        }
    </filter>
</Scanner>

将时间戳编码为base64不起作用,将数组字符串化并将其编码为base64不起作用,传递整数时间戳而不是字符串不起作用。没有错误,我得到的是通过我提供的其他条件的所有记录,这是58b03cade5796b09b48eb17e前缀,好像它被完全忽略了,所以我想这不是正确的方法。

对于我在其余调用的XSD中看到的,时间参数是扫描仪的参数,而不是过滤器的参数。另外,看看XSD,这两个属性在startTime和endTime两个int中似乎是分开的。因此,您可以尝试以下方法:

<Scanner batch="1048576" startTime=1489502797781, endTime=1489502797788> 
    <filter>
        { 
            "type": "PrefixFilter",
            "value": "NThiMDNjYWRlNTc5NmIwOWI0OGViMTdl", // base64 encoded "58b03cade5796b09b48eb17e"
        }
    </filter>
</Scanner>
<Scanner batch="1048576" startTime=1489502797781, endTime=1489502797788> 
    <filter>
        { 
            "type": "PrefixFilter",
            "value": "NThiMDNjYWRlNTc5NmIwOWI0OGViMTdl", // base64 encoded "58b03cade5796b09b48eb17e"
        }
    </filter>
</Scanner>