我有一个HBase表,其行有时会更新(显然他们的时间戳也是如此)
我想知道是否有根据行的创建日期在行上执行TTL的内置方法? (所以如果我用更新版本更新一行,它不会影响该行的删除时间吗?)
举个例子:在2016年4月20日将'row1'的值'aaa'放在TTL为2天的'test'表上,然后如果我在第二天执行另一个'row1',那么该行仍会被删除在2016年4月22日(而不是像常规TTL功能那样在2016年4月23日)
如果没有内置方式,那么使用我自己的代码(Java,scala或其他)执行此操作的好方法是什么?我不认为我可以将完整的表扫描检索到内存中,是否有任何方法可以延迟加载整个表?
提前致谢
1 回答
来自doc:
基于此,您可以在CF上设置ttl,一旦达到ttl,该行将被擦除 . 此行上的每次更新都将重置计时器,因此不要重置您需要使用相同时间戳覆盖最后一次写入的行 .