[
https://issues.apache.org/jira/browse/HADOOP-11644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14611243#comment-14611243
]
Xabriel J Collazo Mojica commented on HADOOP-11644:
---------------------------------------------------
Version 002 of the patch fixes a few problems:
1) Rebased against latest trunk so that it can be applied.
2) Patch now uses a similar approach HADOOP-8756 to know whether Hadoop was
built with CMX support or not.
3) Declares CMX on
.../META-INF/services/org.apache.hadoop.io.compress.CompressionCodec so that it
is picked up automatically by the ServiceLoader in
org.apache.hadoop.io.compress.CompressionCodecFactory.
Thanks [~dvillegas] for the pointers.
> Contribute CMX compression
> --------------------------
>
> Key: HADOOP-11644
> URL: https://issues.apache.org/jira/browse/HADOOP-11644
> Project: Hadoop Common
> Issue Type: Improvement
> Components: io
> Reporter: Xabriel J Collazo Mojica
> Assignee: Xabriel J Collazo Mojica
> Attachments: HADOOP-11644.001.patch, HADOOP-11644.002.patch
>
> Original Estimate: 336h
> Remaining Estimate: 336h
>
> Hadoop natively supports four main compression algorithms: BZIP2, LZ4, Snappy
> and ZLIB.
> Each one of these algorithms fills a gap:
> bzip2 : Very high compression ratio, splittable
> LZ4 : Very fast, non splittable
> Snappy : Very fast, non splittable
> zLib : good balance of compression and speed.
> We think there is a gap for a compression algorithm that can perform fast
> compress and decompress, while also being splittable. This can help
> significantly on jobs where the input file sizes are >= 1GB.
> For this, IBM has developed CMX. CMX is a dictionary-based, block-oriented,
> splittable, concatenable compression algorithm developed specifically for
> Hadoop workloads. Many of our customers use CMX, and we would love to be able
> to contribute it to hadoop-common.
> CMX is block oriented : We typically use 64k blocks. Blocks are independently
> decompressable.
> CMX is splittable : We implement the SplittableCompressionCodec interface.
> All CMX files are a multiple of 64k, so the splittability is achieved in a
> simple way with no need for external indexes.
> CMX is concatenable : Two independent CMX files can be concatenated together.
> We have seen that some projects like Apache Flume require this feature.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)