Найти кодек сжатия, используемый для файла hadoop

Имеется сжатый файл, написанный на платформе hadoop, в одном из следующих форматов:

  • Avro
  • Паркет
  • SequenceFile

Как я могу найти используемый кодек сжатия? Предполагая, что используется один из следующих кодеков сжатия (и в имени файла отсутствует расширение файла):

  • кусачий
  • Gzip (не поддерживается в Avro)
  • Выкачать (не поддерживается на паркете)

1 ответ

Решение

Java-реализация Parquet включает parquet-tools утилита, предоставляющая несколько команд. Смотрите его страницу документации для создания и начала работы. Более подробные описания отдельных команд напечатаны parquet-tools сам. Команда, которую вы ищете meta, Это покажет все виды метаданных, включая сжатия. Вы можете найти пример выходных данных здесь, показывая сжатие SNAPPY.

Обратите внимание, что алгоритм сжатия не обязательно должен быть одинаковым для всего файла. Разные фрагменты столбцов могут использовать разные компрессии, поэтому для кодека сжатия не существует отдельного поля, а одно для каждого фрагмента столбца. (Блок столбца - это часть столбца, принадлежащая одной группе строк.) Однако на практике вы, вероятно, найдете один и тот же кодек сжатия, используемый для всех фрагментов столбца.

Аналогичная утилита существует для Avro, называется avro-tool, Я не очень знаком с этим, но у него есть getmeta команда, которая должна показать вам используемый кодек сжатия.

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