Интуитивно понятно, что hadoop делает что-то подобное для распределения ключей среди картографов, используя псевдокод python-esque.
# data is a dict with many key-value pairs
keys = data.keys()
key_set_size = len(keys) / num_mappers
index = 0
mapper_keys = []
for i in range(num_mappers):
end_index = index + key_set_size
send_to_mapper(keys[int(index):int(end_index)], i)
index = end_index
# And something vaguely similar for the reducer (but not exactly).
Кажется, что где-то hadoop знает индекс каждого передаваемого ключа, посколькураспределяет их равномерно среди картографов (или редукторов).У меня вопрос: как я могу получить доступ к этому индексу?Я ищу диапазон целых чисел [0, n), сопоставляющих все мои n ключей;это то, что я подразумеваю под «индексом».
Меня интересует возможность получения индекса из картографа или редуктора.