java—如何在hbase中检索行的上次修改时间戳?

rryofs0p  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(395)

返回的结果对象中的每个单元格都有相同的时间戳吗?这样做省钱吗?

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);
    }
   }
  }

我将获得最后一行修改的时间戳吗?

67up9zun

67up9zun1#

结果中的单元格可以有不同的时间戳。每个细胞都是 CF:C:V ,在哪里 CF 是柱族, C 是一列 V 是一个版本。即使只存储一个版本,也可以独立地更新单元格的列。单元格时间戳在存储内容时更新。
例如你有一张table usercf:main 和两列 name 以及 age . 如果在同一个 Put 他们将有相同的时间戳。如果你只更新 name 列,时间戳将不同。所以一般来说,这取决于你的使用模式。

相关问题