返回的Result对象中的每个Cell都有相同的时间戳吗? 做这样的事情会省钱吗?
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);
}
}
}
我会获得最后一行修改的时间戳吗?
答案 0 :(得分:1)
Result中的单元格可以有不同的时间戳。每个单元格都是CF:C:V
的组合,其中CF
是列系列,C
是列,V
是版本。即使您只存储1个版本,也可以单独更新单元格的列。存储内容时会更新单元格时间戳。
例如,您的表格user
包含cf:main
,两列name
和age
。如果您更新同一Put
中的两列,则它们将具有相同的时间戳。如果仅更新name
列,则时间戳将不同。所以一般来说这取决于你的使用模式。