使用Hbase API(Get / Put)或HBQL API,是否可以检索特定列的时间戳?
答案 0 :(得分:11)
假设您的客户端已配置且您已设置表格。执行get返回Result
Get get = new Get(Bytes.toBytes("row_key"));
Result result_foo = table.get(get);
结果由KeyValue支持。 KeyValues包含时间戳。您可以使用list()获取KeyValues列表,也可以使用raw()获取数组。 KeyValue有一个get timestamp方法。
result_foo.raw()[0].getTimestamp()
答案 1 :(得分:0)
result_foo.rawCells()(0).getTimestamp
是一种很好的风格
答案 2 :(得分:0)
我认为跟踪会更好:
KeyValue kv = result.getColumnLatest(family, qualifier);
String status = Bytes.toString(kv.getValue());
Long timestamp = kv.getTimestamp();
因为Result#getValue(family,qualifier)实现为
public byte[] getValue(byte[] family, byte[] qualifier) {
KeyValue kv = this.getColumnLatest(family, qualifier);
return kv == null ? null : kv.getValue();
}