복붙노트

[HADOOP] HBase를도 최대 버전을 반환에게 이전 값을 얻을 수 = 1

HADOOP

HBase를도 최대 버전을 반환에게 이전 값을 얻을 수 = 1

나는 특정 기간 이상 업데이트되지 않은 열을 찾을 수있는 욕망을 가지고있다.

그래서 나는 timerange와 컬럼에 대한 검사를 수행합니다. HBase와의 정상 동작은 다음 (내가 원하는하지 않은) 그 시간 범위의 최신 값을 얻을 수 있다는 것입니다.

지금까지 내가 이해 HBase를 작동해야하는 방법은 '1'로 열 가족의 값에 대한 버전의 최대 수를 설정하면이 세포에 넣고 마지막 값을 유지해야한다는 것입니다.

내가 발견 한 것은 다르다.

나는 HBase를 쉘에 다음 명령을 수행하는 경우

create 't1', {NAME => 'c1', VERSIONS => 1}
put 't1', 'r1', 'c1', 'One', 1000
put 't1', 'r1', 'c1', 'Two', 2000
put 't1', 'r1', 'c1', 'Three', 3000
get 't1', 'r1'
get 't1', 'r1' , {TIMERANGE => [0,1500]}

결과는 이것이다 :

get 't1', 'r1'
COLUMN                     CELL
 c1:                       timestamp=3000, value=Three
1 row(s) in 0.0780 seconds

get 't1', 'r1' , {TIMERANGE => [0,1500]}
COLUMN                     CELL
 c1:                       timestamp=1000, value=One
1 row(s) in 0.1390 seconds

난 단지 1로 최대 버전을 설정 한 경우에도 왜 두 번째 쿼리는 값을 반환하지?

나는 현재 여기에 설치 한 HBase를 버전은 HBase를 0.94.6-cdh4.4.0입니다

해결법

  1. ==============================

    1.그것은 HBase를 버그 밝혀졌습니다. https://issues.apache.org/jira/browse/HBASE-10102

    그것은 HBase를 버그 밝혀졌습니다. https://issues.apache.org/jira/browse/HBASE-10102

  2. from https://stackoverflow.com/questions/20425707/hbase-get-returns-old-values-even-with-max-versions-1 by cc-by-sa and MIT license