我可以通过什么方式从Cassandra SSTable数据文件中读取数据并忽略它的行到期日期?
我的数据存储了大约18个月的TLT,但是我有一个完整的备份,并希望读取超过18个月的数据。
如果我将支持的数据恢复到Cassandra实例并尝试选择它,它将只检索我没有过期的行。
我甚至认为sstable2json(我的生产实例是2.2)会读取整个文件,但它只给我带来了过期的数据。
由于某些原因,我需要检索过期数据(实时不是必需的)。是否有任何库或gist或示例代码允许我读取整个SSTable文件?我需要一种方法来自动化它,可能使用Java或Python或Golang,任何东西。
PS:我知道数据存在,因为我手动阅读(cat file-Data.db | unpigz | less
)
答案 0 :(得分:1)
看看TTLRemover项目。它基本上可以满足您的需求:从SSTables中删除TTL标记。写的时候,它是针对Cassandra 2.2的,所以它应该适合你。