Несколько выходных файлов для потоковой передачи Hadoop с помощью Python Mapper

Я ищу небольшое разъяснение ответов на этот вопрос здесь:

Генерация отдельных выходных файлов в Hadoop Streaming

Мой вариант использования выглядит следующим образом:

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

Похоже, что один из способов сделать это - добавить имя файла к строке, которую я печатаю, и использовать параметр multipleOutputFormat. Например, если у меня изначально было:

if line_is_valid(line):
    print name + '\t' + comments

Я мог бы вместо этого сделать:

if line_is_valid(line):
    print valid_file_name + '\t' + name + '\t' + comments
else:
    print err_file_name + '\t' + line

Единственная проблема, с которой я столкнулся в этом решении, заключается в том, что я не хочу, чтобы имя_файла отображалось в качестве первого столбца в текстовых файлах. Я полагаю, что тогда я мог бы выполнить другое задание, чтобы удалить первый столбец каждого файла, но это кажется глупым. Так:

1) Является ли это правильным способом управления несколькими выходными файлами с помощью задания python mapreduce?

2) Как лучше всего избавиться от этого начального столбца?

Ответы на вопрос(1)

Ваш ответ на вопрос