Я мог бы дать длинный ответ, но так как этому вопросу 3 года: проверьте эту страницу: http://discoproject.org/doc/disco/howto/dataflow.html#single-partition-map
Короче говоря: если для функции картографирования имеется N входных данных, выходной сигнал будет N, и, установив merge_partitions=False
, ваше уменьшение выдаст N BLOB-объектов. Теперь, если вы хотите генерировать больше выходов, чем входов, вы можете передать partions=N
. Но когда ваша работа с диско состоит только из функции mapper и вы хотите сгенерировать секционированный вывод, тогда добавьте простейшее сокращение fase в сочетании с параметрами, указанными выше, чтобы получить этот секционированный вывод.
@staticmethod
def reduce(iter, out, params):
for (key, value) in iter:
out.add(key, value)