2017-03-15 5 views
2

Q를 스캔 : 어떻게 REST API를 사용하여 주어진 timerange에 대한 HBase를 스캔하는 방법?HBase를 REST API를 : Timerange이

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

HBase와 쉘 timerange 스캔은 다음과 같습니다 :

나는이 코드를 시도 base64로 작동하지 않았다 같은 배열을 stringifying와 base64로 작동하지 않았다로 인코딩, 타임 스탬프를 인코딩

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

문자열 대신 정수 (타임 스탬프)를 전달하는 것이 효과가 없었습니다. 오류가 없습니다. 내가 얻은 모든 기록은 내가 제공 한 다른 조건을 통과합니다. 즉 "58b03cade5796b09b48eb17e"접두사는 완전히 무시 된 것처럼 올바른 방법이 아닙니다.

답변

1

REST 호출의 XSD에서 볼 수있는 것처럼 시간 매개 변수는 필터가 아닌 스캐너의 매개 변수입니다. 또한 XSD를 살펴보면이 두 속성이 startTimeendTime (두 int 모두)로 구분되어있는 것으로 보입니다.

<Scanner batch="1048576" startTime=1489502797781, endTime=1489502797788> 
    <filter> 
     { 
      "type": "PrefixFilter", 
      "value": "NThiMDNjYWRlNTc5NmIwOWI0OGViMTdl", // base64 encoded "58b03cade5796b09b48eb17e" 
     } 
    </filter> 
</Scanner> 
: 그래서, 당신은 뭔가를 시도 할 수