2011-10-18 11 views
2

私は、単一の マシンでHBaseのスタンドアローンインスタンス(ハイドープなし)を実行しています。HBaseテーブルが期待通りに縮んでいない

これは、シェルから列定義 の一部を更新した後、32Gでもともと:

alter 'table', {NAME =>'mycol', TTL => <two_months>} 
alter 'table', {NAME =>'mycol', COMPRESSION => 'GZ'} 

データストアが(新しいデータが原因ではない!)32Gから51Gまで一晩増殖させました。私はエントリのほとんどが2か月より古いので、テーブルが縮小することを期待しています。さらに、私は列の圧縮を要求しました。

なぜalterコマンドを実行するとサイズが大幅に増加したのですか?もう一度縮小すると思いますか?

私はそれが次の大きな圧縮時に収縮すると予想していましたが、それは24時間を超えており、私は ですが、それはまだ起こっていないと驚いています。

+0

テーブルの主要な圧縮を手動で実行しようとしましたか?また、htmlの管理ページを回りたいかもしれません。 – juhanic

答えて

1

TTLの問題については、juhanicが述べているように大きな圧縮を強制するだけです。 hbaseにはまだブロックを自動マージするメソッドがありません(jiraには問題があります)。ブロック数(リージョン)は変更されません。私が圧縮を切り替えると、エクスポート - >切り捨て - >データを再インポートする方が好きです。

小さなヒント:サイズが問題になる場合、最も簡単な最適化は、VERSIONSの値を(可能な場合は1に)下げることです。あなたはすでにそれをやったと思います。

+0

ありがとうございます、バージョンを使用して、ttlが望ましいです。 – Joel

関連する問題