2017-08-24 47 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端口上运行。