Как использовать Snappy Compression And Decompression в hadoop

Я использую следующий код для сжатия

     Configuration conf = new Configuration(); 
    conf.setBoolean("mapred.compress.map.output", true); 
conf.set("mapred.map.output.compression.codec","org.apache.hadoop.io.compress.SnappyCodec");

используя быстрый алгоритм. но при сжатии входного файла с некоторыми МБ данных (от 70 до 100 МБ) он сжимает данные с размером файла, который больше, чем входной файл, и если я попробую его с входным каталогом, содержащим все типы файлов, такие как (.jpg, .mp3, .mp4 и т. д.) с размером от 100 до 150 МБ, он отображает ошибку как:

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Java HotSpot(TM) Server VM warning: INFO: os::commit_memory(0x930c0000, 105119744, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 105119744 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/hduser/workspace/TestProject/hs_err_pid16619.log

Поскольку я пытаюсь сжимать и распаковывать данные, используя алгоритм snappy, пожалуйста, предложите мне, как мне сжать данные, используя алгоритм sanppy с меньшим пространством.

я использую

Ubuntu 13.10, 32-битная JDK 7, 32-битная. с hadoop-2.2.0

0 ответов

Другие вопросы по тегам