如何获取SSTable中的所有分区键?

时间:2017-04-30 09:56:58

标签: cassandra

我正在对Cassandra 3.11源代码做一些工作,我对SSTables的访问方式感到有些困惑。到目前为止,我发现有三个类似乎都在对SSTables进行一些读取:SSTableReader,Tracker和View。

至于我的问题,我希望获得每个SSTable的所有分区键的列表。我的最终目标是找到同时存在于三个以上SSTable中的所有分区键。但是,上面三个类中没有一个似乎包含我想到的那种方法(“getAllPartitionKeys()”或类似的东西)。考虑到这一点,哪个类(或过程)可以给我这些信息?

1 个答案:

答案 0 :(得分:0)

有一个名为KeyIterator的类可以提供表中所有分区键的Iterable。要使用它,请执行以下操作:

KeyIterator keyIterator = new KeyIterator(ssTableReader.descriptor, cfs.metadata());