Предположим, у меня есть файл с разделителями табуляции, содержащий данные активности пользователя, отформатированные следующим образом:
timestamp user_id page_id action_id
Я хочу написать задание hadoop для подсчета действий пользователя на каждой странице, поэтому выходной файл должен выглядеть так:
user_id page_id number_of_actions
Мне нужно что-то вроде составного ключа здесь - он будет содержать user_id и page_id. Есть ли общий способ сделать это с помощью hadoop? Я не мог найти ничего полезного. До сих пор я использую такой ключ в mapper:
context.write(new Text(user_id + "\t" + page_id), one);
Он работает, но я чувствую, что это не лучшее решение.