一段时间后HBase表大小减少

时间:2017-08-24 15:05:56

标签: hadoop hbase hdfs bigdata

我们在HBase中存储数据存在一个问题。我们采取了以下措施:

  1. 大型csv文件(大小:20 G)由Spark应用程序处理,结果为hfiles(结果数据大小:180 G)。
  2. 使用命令创建表:'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
  4. 批量加载来自已创建的hfiles的数据

    在加载桌子后,尺寸为180 G,但经过一段时间(昨天是晚上8点,两天前约早上8点),正在启动一个将数据压缩到14 G的过程。

    我的问题是这个过程的名称是什么?那是一次重大的压缩吗?我试图手动触发压缩(major_compact和compact),但这是在未压缩的表上启动的命令的输出:

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

1 个答案:

答案 0 :(得分:0)

这是压缩过程。我可以提出以下原因,即表格大小有如此大的差异。使用Spark应用程序,您不会为HFile使用压缩编解码器,因为它在文件创建后指定它。表格中的HFile附件不会改变它的形式(HDFS中的所有文件都是不可变的)。只有在压缩过程之后,才会压缩数据。您可以通过HBase UI进行monition压缩过程;它通常在60000端口上运行。