Я пытаюсь написать программу mapreduce, которая вычисляет среднее значение некоторых статистических данных.Запуск кода после запуска всех редукторов
Измерители считывают данные в соответствующем сегменте и выполняют некоторые фильтры.
Я использую несколько редукторов.
Поэтому редукторы будут способны вычислять только локальное среднее значение в этой секции. Мне, однако, нужно усреднить все данные, поступающие ко всем редукторам. Как мне снять это?
Одна из идей - использовать глобальные счетчики для хранения суммы и подсчета. Но мне нужен сегмент кода, который запускается после запуска всех редукторов (чтобы я мог работать с окончательной суммой и счетчиком) и выводил среднее значение в файл. Является ли это жизнеспособным подходом и как я могу это сделать?
Также обратите внимание, что мне нужно использовать несколько редукторов. Таким образом, возможность иметь только один редуктор и выполнять средние вычисления в методе очистки вне окна.
сделать это в коде драйвера после 'waitForCompletion()' –