Что такое Mapreduce эквивалентно функции top () в Spark? - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь найти эквивалентное решение для функций top() и take() в spark для реализации Mapreduce.Я хочу извлечь верхние значения k, не сохраняя весь ключ, пары значений.

1 Ответ

0 голосов
/ 21 ноября 2018

Прямого эквивалента нет.Если вам нужно сделать что-то подобное без Spark, я обычно использую Pig

. Для этого требуется как минимум две фазы уменьшения карты.Один для обработки данных, затем другой для сбора данных, которые вы на самом деле хотите

В маппере вы устанавливаете пустой для записи (или некоторый, однозначный ключ), а затем излучаете все значения, приводя их к одному редуктору.

В редукторе вы собираете все значения, которые хотите отсортировать или передать в коллекцию ограниченного размера.Я рекомендую TreeMap или Binary Heap, потому что они автоматически сортируются.Затем вы перебираете размер этой коллекции для значений K

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...