2014-01-24 8 views
0

Я ищу сжатие по умолчанию в HDFS. Я видел this, но я не хочу, чтобы мои файлы имели расширения gzip (на самом деле они должны быть доступными, как если бы они не были сжаты). Фактически, то, что я ищу, точно так же, как опция «Сжатие содержимого для сохранения дисковое пространство "на Windows. Этот параметр сжимает файлы внутри, но к ним можно получить доступ, как к обычным файлам. Любые идеи будут полезны.Сжатие файлов HDFS изнутри

Благодаря

ответ

1

Это не существует в стандартных реализациях HDFS, и вы должны управлять сами. Вы должны управлять своим собственным сжатием. Тем не менее, a proprietary implementation of Hadoop, MapR, does this,, если решение этой проблемы достаточно важно для вас.

После использования hadoop на некоторое время это меня больше не беспокоит. Pig и MapReduce, и таким образом сжатие будет достаточно для меня достаточно. Я знаю, что это не реальный ответ, но я не мог сказать в вашем вопросе, если вас просто раздражает, или у вас есть настоящая проблема. Получение пользы для добавления | gunzip во все прошло недолго. Я, например:

  • hadoop fs -cat /my/file.gz | gunzip
  • cat file.txt | gzip | hadoop fs -put - /my/file.txt.gz
1

При использовании сжатых файлов, нужно думать о том, им разъемным - то есть может Hadoop разделить этот файл при запуске карты уменьшить (если файл не является разделяемым, он будет считываться только одной картой)

Обычный способ использования этого формата - использовать формат контейнера, например файл последовательности, файл orc и т. д., где вы можете включить сжатие. Если вы используете простые текстовые файлы (csv и т. Д.) - есть lzo project by twitter, но я не использовал его лично

Смежные вопросы