2

我同时将数十亿条记录插入到 cassandra 中。因此,要利用资源,我需要在插入过程中禁用压缩。插入完成后,我应该能够手动启动压缩。我使用 hector-core-1.0-5 作为 API 连接到 cassandra。任何人都可以帮助我如何做到这一点。

4

2 回答 2

3

您可以通过管理控制台 (JMX) 控制列族的压缩。您可以在加载之前禁用,然后在加载数据后强制进行主要压缩。

于 2012-12-19T16:01:46.370 回答
-1

我使用的方法是使用 cassandra-cli 更新列族压缩选项。

打开

use myks;
update column family mycf with compression_options={sstable_compression:SnappyCompressor, chunk_length_kb:64};

然后关闭:

use myks;
update column family mycf with compression_options=null;

如果您希望立即更新,则必须在此更新后使用 nodetool (scrub) 强制重建 sstables,否则可能会在意外情况下发生。

我只是在测试中这样做,以比较压缩和非压缩列族的大小。但我发现启用压缩然后进行批量加载会更好,否则 sstable 重建需要永远。

于 2012-12-18T17:21:28.450 回答