在HBase中,ColumnFamily TTL究竟意味着什么?

时间:2017-09-13 22:19:59

标签: hbase

我们假设我们有2 CF(CF1,CF2)。

假设CF2的TTL为一天,而CF2有2个ColumnQualifiers。

这是否意味着在主要压缩过程中CF2中任何超过一天的细胞会自动掉落(只要min-version == 0)?

我很困惑,因为在文档中他们一直指的是行不确定它们是什么意思......

1 个答案:

答案 0 :(得分:2)

根据我对文档的理解,row指的是列系列中特定rowkey的版本。

VERSIONS - 要在列族中维护rowkey的最大版本。

TTL - 保留rowkey版本的持续时间

MIN_VERSIONS - 在任何时间点维护rowkey的最小版本号。

我想用一个例子解释上面三个。可以说,你的CF2配置了VERSIONS = 100,TTL = 1Day,MIN_VERSIONS = 3

因此,对于CF2中的特定rowKey,将维护最多100个版本,如果没有版本是>,则将通过主要压缩删除任何早于1天的版本。 3.这确保CF2始终存在3个版本的记录。