2011-10-18 30 views
2

我有一臺獨立的HBase(沒有hadoop)實例在單臺機器上運行。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

相關問題