我们已经为bigtable中的列设置了过期时间。在一段时间内,不保存任何数据(仅键)的行数增加了。我正在寻找一种从表中删除这些空行的有效方法。
例如:
key:key1column1:value1(ttl 1天)colum2:value2(ttl 1天)
在我的用例中,这两个值都被垃圾回收了。键没有任何重要性,因此该键可以进行垃圾回收。
您可以使用Cloud Bigtable CLI documentation:
Example: cbt deleterow <table-id> <row-key> app-profile=<app-profile-id>
cbt deleteallrows <table-id>
可选,您可以根据documentation使用Cloud Bigtable Client Libraries。
查看下面的documentation说明Cloud Bigtable 垃圾收集器,这是从Cloud Bigtable表中删除过期和过时的数据的自动,持续过程。
请注意,最多可能需要一周的时间才能对数据进行垃圾收集,因此您绝对不应仅依靠垃圾收集策略来确保读取请求返回所需的数据。
Edit1:
您可以使用cbt命令行工具为列族中的数据设置最长期限(1天)。
cbt createfamily your-table cf1
cbt setgcpolicy your-table cf1 maxage=1d
关于配置垃圾收集]的更多信息,可以在documentation上找到。