阅读Cassandra SSTable文件

时间:2018-04-05 17:55:27

标签: cassandra

我可以通过什么方式从Cassandra SSTable数据文件中读取数据并忽略它的行到期日期?

我的数据存储了大约18个月的TLT,但是我有一个完整的备份,并希望读取超过18个月的数据。

如果我将支持的数据恢复到Cassandra实例并尝试选择它,它将只检索我没有过期的行。

我甚至认为sstable2json(我的生产实例是2.2)会读取整个文件,但它只给我带来了过期的数据。

由于某些原因,我需要检索过期数据(实时不是必需的)。是否有任何库或gist或示例代码允许我读取整个SSTable文件?我需要一种方法来自动化它,可能使用Java或Python或Golang,任何东西。

PS:我知道数据存在,因为我手动阅读(cat file-Data.db | unpigz | less

1 个答案:

答案 0 :(得分:1)

看看TTLRemover项目。它基本上可以满足您的需求:从SSTables中删除TTL标记。写的时候,它是针对Cassandra 2.2的,所以它应该适合你。

https://github.com/instaclustr/TTLRemover