从cassandra导出密钥的最快方法

时间:2011-12-11 00:33:13

标签: java cassandra

使用Java API或其他工具从cassandra(0.7.x及更高版本)中的列族导出所有rowkeys的最快方法是什么?

目前我正在使用Java Pelops API,并翻阅所有记录,但我想知道是否有更好的机制。

我特别感兴趣的是只导出rowkeys(没有列/子列),所以我想知道是否有一部分cassandra直接存储API可以用来尽快(绕过节俭)。< / p>

1 个答案:

答案 0 :(得分:1)

使用Java 客户端怎么样?样本取自 https://github.com/rantav/hector/wiki/User-Guide

RangeSlicesQuery<String, String, String> rangeSlicesQuery = 
HFactory.createRangeSlicesQuery(keyspace, stringSerializer, 
     stringSerializer, stringSerializer);
rangeSlicesQuery.setColumnFamily("Standard1");
rangeSlicesQuery.setKeys("fake_key_", "");
rangeSlicesQuery.setReturnKeysOnly(); // use this
rangeSlicesQuery.setRowCount(5);
Result<OrderedRows<String, String, String>> result = rangeSlicesQuery.execute();
  • 的API接口。直接进入存储需要您以二进制方式读取数据文件。上面的代码应该会给你带来良好的表现。
  • 如果您需要一次性导出,那么我会说没关系。如果你需要这个用于制作,你应该重新考虑你的数据模型 - 你可能做错了。
  • 如果需要扫描多行,可能需要使用多个键范围拆分查询。