我将数十亿的记录同时插入cassandra。因此,为了利用资源,我需要在插入过程中禁用压缩。插入完成后,我应该能够手动启动压缩。我使用hector-core-1.0-5作为API连接到cassandra。任何人都可以帮我解决这个问题。
答案 0 :(得分:3)
您可以通过管理控制台(JMX)控制列族的压缩。您可以在加载前禁用,然后在加载数据后强制进行主要压缩。
答案 1 :(得分:-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重建将永远耗尽。