Классы input и outputformat можно заменить с помощью параметров командной строки -inputformat и -outputformat.
Один пример того, как это сделать, можно найти в dumbo project , который представляет собой среду Python для написания потоковых заданий. Он имеет функцию записи в несколько файлов и внутренне заменяет выходной формат классом из родственного проекта: feathers - fm.last.feathers.output.MultipleTextFiles.
Затем редуктор должен испускать кортеж в качестве ключа, причем первым компонентом кортежа будет путь к каталогу, в который должны быть записаны файлы с парами ключ / значение. Там может быть несколько файлов, это зависит от количества редукторов и приложения.
Я рекомендую заглянуть в dumbo, он имеет много функций, которые облегчают написание программ Map / Reduce на Hadoop на python.