TTL=>的更新超时时间是指:该列最后更新的时间,到超时时间的限制,而不是第一次创建,到超时时间;
同时我们也注意到100秒后r4被删除,但是只删除掉了r1的f1列,如果r1有其他列,比如cf,则其他列保留,TTL的概念只针对CELL
修改表结构之前,需要先disable 表,否则表中的记录被清空!HBase不disable直接去alter 表是可以的
早期版本控制粒度是column family; 新版本因为Cell可以支持tag了,所以可以在cell级别设置TTL了。(待考证)
( 参见http://hbase.apache.org/book.html#ttl 及https://issues.apache.org/jira/browse/HBASE-10560)
Cell的TTL与Column family的TTL区别:
- Column family的TTL以秒为单位,cell的TTL以毫秒为单位
- 如果有有cell级别的TTL,则cell的TTL override CF的TTL; 但是不能超出CF级别的TTL
TTL(每个细胞的生存时间) 默认值为:FOREVER
以下引自:http://hbase.apache.org/book.html#ttl