Я хочу помочь понять алгоритм. Сначала я вставил алгоритм, а затем мои сомнения.Понимание алгоритма mapreduce для вычисления перекрытия
Алгоритм :(Для расчета перекрытия между парами записей)
Учитывая определяемый пользователем параметр К, файл ДР (* Формат: record_id данные *) разделяется на K почти обор размеров кусков, так что данные документа Di попадают в i/K-й кусок.
Мы переопределили функцию разбиения Hadoop, которая отображает ключ, испускаемый преобразователем, в экземпляр редуктора. Каждый ключ (i, j) отображается на редуктор в j/Kth-группе.
Специальный ключ i, * и связанное с ним значение, то есть данные документа реплицируются не более K раз, так что полное содержимое документа может быть доставлено на каждом редукторе. Таким образом, каждому редуктору в группе необходимо восстановить и загрузить в память только один фрагмент файла DR, , размер которого может быть задан произвольно малым, изменяя K. Таким образом, можно рассчитать перекрытие. Это достигается за счет репликации документов, переданных через каркас MapReduce.
Сомнения:
Я сделал несколько предположений:
себе: Каждый ключ (I, J) сопоставляется с редуктором в J/группы K-й. Предположения: K уменьшают узлы, и ключ отображается на узел сокращения j/Kth.
Сомнение: Есть ли узлы сокращения, сгруппированные вместе? скажем, 0,1,2 узла группируются как Group-0?
Заявление: данные документа реплицируются не более K раз, так что полное содержимое документа может быть доставлено на каждом редукторе.
Таким образом, K означает нет. узлов редуктора? Если нет, мы теряем вычислительные узлы правильно, не используя их правильно?
Основное сомнение: есть ли K, равное числу узлов редуктора?
В ожидании ответов!
Спасибо!
Я не думаю, что вы даете нам достаточно информации, чтобы понять этот алгоритм ... –
В принципе, существует два типа Mapper выходов: 1., –
В принципе, есть два типа выходных картографа: а , ключ: , val: <пересечение> b. : , val: . Первый тип выходов может достигать любого редуктора, основанного на второй части второй части ключа, то есть j. Цель состоит в том, чтобы сгруппировать вместе любые записи экземпляров экземпляров с любого выходного файла карты, который имеет одну и ту же «i» в первой части ключа. ключ должен быть реплицирован k раз, чтобы достичь каждого экземпляра сокращения, так что каждая запись пересечения с i в качестве первой части ключа получает данные i. Означает ли это, что k необходимо тиражировать столько раз, сколько нет. сокращения узлов ??? –