Сжатие Lz4 не разделяется
Я использую сжатие lz4 и записываю данные в таблицу кустов, эта таблица содержит 20 файлов, каждый из которых имеет размер 15 ГБ в HDFS, и каждое имя файла в этой таблице заканчивается lz4, например: part-m-00000.lz4
,
Когда я бегу select count(1)
из этой таблицы он запускает только 20 картографов, что означает lz4 splittable
не вступает в силу.
Говорят, что lz4 поддерживает splittable для текстового файла, поэтому я хотел бы спросить, что я должен сделать, или дополнительные шаги, чтобы включить это.
1 ответ
Предполагая, что вы можете иметь некоторый контроль над тем, как сжимаются данные, этот кодек может быть ближе к тому, что вам нужно, так как он встраивает разделимый слой. Он предназначен для использования с Hadoop.
Если вы не можете изменить формат, и он был сжат как единый поток без таблицы переходов, то, боюсь, нет хорошего решения. lz4
По умолчанию CLI разделяет данные на блоки по 4 МБ, но не предоставляет таблицы переходов. Таблица переходов позволяет легко читать архив в случайном порядке. Без этого необходимо передавать данные и распределять блоки для последующей обработки.