TTL行为 - HBase

时间:2014-02-12 06:45:00

标签: hadoop hbase

我们在HBase表中有很多数据。这是NoSQL世界的新手。我们希望仅在固定时间内保留数据。我们应该编写单独的清理脚本还是依靠TTL配置?

我查看了可用的文档,但我不了解确切的行为。

3 个答案:

答案 0 :(得分:2)

HBase documentation明确表示HBase会自动删除早于TTL的数据。

答案 1 :(得分:2)

请记住,HBase永远不会删除数据,直到它进行压缩 - 它会重写所有数据文件。一旦数据通过TTL,它就会被隐藏,直到发生重大压缩。

答案 2 :(得分:1)

它的行为与它所说的方式相同,即行中时间戳早于时间戳的所有值 配置的TTL将在下一次主要压缩时删除。它是列族的属性。如果要将TTL应用于整个表,只需将其设置为相同的值即可 对于表中的每个列族。这样,一旦完成数据,您将删除数据。