Сжатие Lz4 не разделяется

Я использую сжатие lz4 и записываю данные в таблицу кустов, эта таблица содержит 20 файлов, каждый из которых имеет размер 15 ГБ в HDFS, и каждое имя файла в этой таблице заканчивается lz4, например: part-m-00000.lz4,

Когда я бегу select count(1) из этой таблицы он запускает только 20 картографов, что означает lz4 splittable не вступает в силу.

Говорят, что lz4 поддерживает splittable для текстового файла, поэтому я хотел бы спросить, что я должен сделать, или дополнительные шаги, чтобы включить это.

1 ответ

Предполагая, что вы можете иметь некоторый контроль над тем, как сжимаются данные, этот кодек может быть ближе к тому, что вам нужно, так как он встраивает разделимый слой. Он предназначен для использования с Hadoop.

Если вы не можете изменить формат, и он был сжат как единый поток без таблицы переходов, то, боюсь, нет хорошего решения. lz4 По умолчанию CLI разделяет данные на блоки по 4 МБ, но не предоставляет таблицы переходов. Таблица переходов позволяет легко читать архив в случайном порядке. Без этого необходимо передавать данные и распределять блоки для последующей обработки.

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