2

我想使用 Hector(或任何其他客户端)在 Cassandra 中创建另一个名称的 Column Family 副本,有没有最快的方法可以做到这一点?

谢谢

4

3 回答 3

3

cassandra hadoop 集成读取整个列族以用作 map reduce 作业的输入;它还可以批量输出到列族。阅读org.apache.cassandra.hadoop包中的代码以了解该做什么。

对于读取,它会确定哪些令牌位于哪些节点上,然后使用该令牌范围执行get_range_slice(它也将令牌范围拆分为可管理的块)。对于写它(或者如果你使用 Bulk* 类可以做)通过构造一个 SSTable 然后将其上传到 cassandra 与上述解决方案类似的事情。

我怀疑上面使用 sstable2json 的其他答案会更加有效,但这会起作用。

于 2012-08-30T21:27:19.463 回答
2

您可以使用 sstable2json 将其读出,然后使用 json2sstable 将其写回作为您的新 CF。

于 2012-08-23T17:49:55.113 回答
2

我的回答将涉及逐行迭代,你说你已经在做。我对此的唯一改进是使用 KeySlice 来获取多个键,因此每个请求获取多行。

于 2012-08-29T18:30:06.787 回答