Нельзя полагаться на информацию о столбце в первом ряду. Если ваш файл больше, чем блок HDFS, ваш файл будет разбит на несколько разделений, и каждый раздел будет передан другому преобразователю. В этом случае только маппер, получивший первое разбиение, получит первую строку с информацией о столбце, а остальные - нет.
Я бы предложил передать специфичные для файла метаданные в отдельный файл и распространить их как дополнительные данные. Ваши задачи маппера или редуктора могут читать файл метаданных.
Через объект контекста Hadoop вы можете получить имя файла, обрабатываемого картографом. Между прочим, я думаю, что у вас есть вся контекстная информация, на которую вы ссылаетесь, и вы можете выполнить конкретное преобразование файла. Несмотря на то, что логика преобразования различна для разных файлов, выходные данные преобразователя должны иметь одинаковый формат.
Если вы используете редуктор, вы можете установить число редукторов равным одному, чтобы заставить весь вывод объединяться в один файл.