Обработка большого lzo файла с использованием карты Hadoop, уменьшая поддержание порядка ввода - PullRequest
0 голосов
/ 16 мая 2019

У меня есть большой файл Hadoop-LZO (около 26 ГБ), который нужно построчно обрабатывать и выводить предварительно обработанную строку на основе логики.

Если я использую LzoTextInputFormat.class с индексным файлом в задании только для сопоставления, генерируется 15 разбиений. Это создает 15 файлов LZO.

Мне нужен один выходной файл lzo, предпочтительно в том же порядке. Я хочу обработать это как можно быстрее.

Я пытался использовать LzoTextInputFormat.class без индексного файла и TextInputFormat.class, что приводит к 1 разбиению. Однако процесс занимает больше 25 минут.

job.setInputFormatClass(LzoTextInputFormat.class);

Если я использую LzoTextInputFormat.class без индексного файла, обработка будет быстрее. Однако генерируется несколько выходных файлов lzo, которые я не уверен, смогу ли я объединить в один файл.

Любая ссылка на код / ​​пример того, как я мог бы обработать большой lzo-файл с помощью Java Hadoop MR, применить логику предварительной обработки к каждой строке и эффективно вывести строки в один lzo-файл.

...