2017-02-11 1 views
0

반환 된 Result 개체의 각 셀에 동일한 타임 스탬프가 있습니까? 이렇게 저장합니까?HBase에서 행의 마지막 수정 타임 스탬프를 검색하는 방법은 무엇입니까?

try (Table table = connectionFactory.getConnection().getTable(TABLE)) { 
    try (ResultScanner scanner = table.getScanner(generateScan(systemId))) { 
    for (Result result: scanner) { 
    if (result == null) { 
     break; 
    } 
    long ts = result.rawCells()[0].getTimestamp(); 
    System.out.println("Row last update time: " + ts); 
    } 
    } 
    } 

마지막 행 수정의 타임 스탬프를 얻을 수 있습니까?

답변

1

결과의 셀에 다른 타임 스탬프가있을 수 있습니다. 각 셀은 CF:C:V의 조합이며, CF은 열 패밀리이며 C은 열이고 V은 버전입니다. 버전을 1 개만 저장하더라도 셀의 열을 독립적으로 업데이트 할 수 있습니다. 셀 타임 스탬프는 사용자가 항목을 저장할 때 업데이트됩니다.

예를 들어 테이블 usercf:main이고 두 열은 nameage입니다. 두 열을 모두 Put에서 업데이트하면 동일한 타임 스탬프가 적용됩니다. name 열만 업데이트하면 타임 스탬프가 달라집니다. 일반적으로 사용 패턴에 따라 다릅니다.

+0

감사합니다. 그게 내가 잘 모르는 부분입니다. –

관련 문제