2013-07-08 16 views
2

HBase 테이블을 만들 때 스캔 할 때 해당 테이블에 타임 스탬프가 표시됩니까?타임 스탬프는 기본적으로 HBase 테이블에 나타 납니까?

'테스트', 'CF'

넣어 '테스트', 'ROW1'생성 'CF :에', '값 1'을

넣어 '테스트 예를 들어

''ROW2 ','CF : B ','값 2 '

풋 "시험', 'row3', 'CF : C' 'VALUE3'

스캔"테스트 "

,536 91,363,210

행 COLUMN + CELL

ROW1 열 = CF : A, 타임 스탬프 = 1,288,380,727,188, 값 = VALUE1

ROW2 열 = CF : B, 타임 스탬프 = 1,288,380,738,440, 값 = 값 2

row3 열 = cf : c, timestamp = 1288380747365, value = value3

+0

당신은 이미 답변을 가지고 있습니다 : ... row1 열 = cf : a, "timestamp = 1288380727188", value = value1 – Tariq

답변

1

예, 테이블에 PUT을 만들 때마다 타임 스탬프를 설정합니다. 기본적으로 이것은 currentTimeInMillis이지만 자신 만의 타임 스탬프를 설정할 수도 있습니다.

timestamp은 셀의 버전을 허용합니다. scan 최신 버전을 반환합니다,하지만 당신은 Scan.setMaxVersions()를 사용하여 최대 버전을 지정하거나 특정 타임 스탬프를하려는 경우 Scan.setTimeRange() 또는 Scan.setTimeStamp()

+0

오. 감사합니다. .. Tariq와 Mihai :) – DrewRose

+0

도움이 되길 바랍니다. 질문 하나당 하나의 답을 수락 한 것으로 표시 할 수 있다는 것을 알고 있습니까? 다른 사람들이 그 질문에 대한 답을 알게 해줍니다. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work을 참조하십시오. –

+0

클라이언트 또는 서버에 기본'currentTimeInMillis'가 설정되어 있습니까? –

1

타임 스탬프가 실제로 HBase를 열의 필수 부분이며 그들의 주요 목적은 열 버전입니다 사용할 수 있습니다. 버전 및 타임 스탬프에 대한 Here is some more detailed explanation. "HBase definitive guide"책에는 타임 스탬프 (TS)로 할 수있는 거의 모든 것을 발견하는 자세한 PUT 작업 설명이 포함되어 있습니다. 여기

힌트는 다음과 같습니다 당신이 PUT에서 TS를 지정하지 않으면, 서버가 자동으로 추가

  • .
  • 수동으로 지정하면 TS를 지정할 수 있으므로 실제로이 필드의 '권장'사용에 제한이 없으며 많은 대안이 있습니다.
  • 타임 스탬프 (TS)에 대한 추가 옵션은 '삭제 된 레코드 유지'테이블 옵션, 보관할 버전의 최소 개수 및 데이터의 유효 기간 (TTL) 지원을 통해 검색됩니다.

그래,이 타임 스탬프/버전을 제거 할 수는 없지만이를 사용하는 방법은 많이 있습니다.