我有一个配置有MultiTableHFileOutputFormat
的map-reduce作业,可以一次性生成多个表的文件。
所有表都是相似的,并配置有COMPRESSION => 'SNAPPY'
。完整的表格说明:
'my_table', {
NAME => 'f1',
VERSIONS => '1',
EVICT_BLOCKS_ON_CLOSE => 'false',
NEW_VERSION_BEHAVIOR => 'false',
KEEP_DELETED_CELLS => 'FALSE',
CACHE_DATA_ON_WRITE => 'false',
DATA_BLOCK_ENCODING => 'NONE',
TTL => 'FOREVER', MIN_VERSIONS => '0',
REPLICATION_SCOPE => '0',
BLOOMFILTER => 'ROW',
CACHE_INDEX_ON_WRITE => 'false',
IN_MEMORY => 'false',
CACHE_BLOOMS_ON_WRITE => 'false',
PREFETCH_BLOCKS_ON_OPEN => 'false',
COMPRESSION => 'SNAPPY',
BLOCKCACHE => 'true',
BLOCKSIZE => '65536'
}
Job运行正常,并且数据已成功通过completebulkload
导入。但是,我注意到表的大小远远超出了预期。因此我进行了较大的压实,尺寸恢复正常(约为初始尺寸的40%)。在这一点上,很明显,生成的文件未压缩。我是否错过了某些配置,或者大负载根本不支持压缩?