何十億ものレコードをcassandraに同時に挿入しています。したがって、リソースを利用するには、挿入の進行中に圧縮を無効にする必要があります。挿入が完了したら、手動で圧縮を開始できるはずです。cassandra に接続するための API として hector-core-1.0-5 を使用しています。誰でもこれを行う方法で私を助けることができますか?
1312 次
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 (スクラブ) を使用して sstables を強制的に再構築する必要があります。そうしないと、予期しないときに起こる可能性があります。
これは、圧縮された列ファミリーと圧縮されていない列ファミリーのサイズを比較するためのテストでのみ行いました。しかし、圧縮を有効にしてから一括読み込みを行う方が良いことがわかりました。そうしないと、sstable の再構築に永遠に時間がかかりました。
于 2012-12-18T17:21:28.450 に答える