2017-08-24 48 views
2

我們在將數據存儲在HBase中時遇到了一個問題。我們採取了以下步驟:HBase表大小在一段時間後下降

  1. Spark應用程序正在使用hfiles作爲結果(結果數據大小:180 G)處理Big csv文件(大小:20 G)。通過使用命令
  2. 創作表的:從創建hfiles 'TABLE_NAME', {'NAME'=>'cf', 'COMPRESSION'=>'SNAPPY'}
  3. 數據被表的裝載後,用命令hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles -Dhbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily=1024 hdfs://ip:8020/path TABLE_NAME

右鍵bulkloaded尺寸180 G,在一段時間(昨天之後但它是在兩天前的上午8點左右,上午8點左右)正在啓動一個將數據壓縮成14號大小的進程。

我的問題是這個過程的名稱是什麼?這是一個重大的壓縮? Becouse我試圖觸發壓實(major_compact和緊湊型)手動,但是這是從命令的輸出開始的未壓縮表:

hbase(main):001:0> major_compact 'TEST_TYMEK_CRM_ACTION_HISTORY' 
0 row(s) in 1.5120 seconds 

回答

0

這是compactions過程。我可以建議如下的原因造成桌面尺寸的巨大差異。使用Spark應用程序,您不會爲HFile使用壓縮編解碼器,因爲它在文件創建後指定它。表的HFile附件不會更改它的合成器(HDFS中的所有文件都是不可變的)。只有在壓縮過程之後,數據纔會被壓縮。您可以通過HBase UI監控壓縮過程;它通常在60000端口上運行。