2017-03-15 16 views
2

QREST APIを使用して、指定されたtimerangeのHbaseをスキャンする方法はありますか。Hbase REST API:Timerangeスキャン

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

HBaseのシェルの時間範囲スキャンがある:

私はこのコードを試みたbase64では動作しなかった配列を文字列化し、BASE64が機能しなかったとして、それをコードする、タイムスタンプをコード

> scan 'tableName', { TIMERANGE => [1489442551458, 1489442551558] } 

文字列の代わりに整数(タイムスタンプ)を渡しても機能しませんでした。エラーはありません。私が得るすべてのレコードは、私が提供する他の条件、つまり「58b03cade5796b09b48eb17e」という接頭辞を渡したものです。完全に無視されているので、正しい方法ではないと思います。

答えて

1

REST呼び出しのXSDに表示されているとおり、時間パラメータはフィルタのパラメータではなく、スキャナのパラメータです。また、XSDを見ると、これらの2つの属性はstartTimeendTime(どちらもint)で区切られているようです。だから、あなたは次のようなものを試すことができます:

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