Архив содержит все три выполненные части задачи, а также шпаргалку с тем как надо было делать.
MapReduce
Описание задания
Цель нашего задания - научиться использовать сложные статистики при помощи MapReduce.
Процедура сдачи задания:
Часть 1 (2 балла)
Необходимо вычислить для каждого бизнеса из датасета Yelp количество открытых минут в бизнесе. Если бизнес закрыт, то количество открытых минут должно равняться 0. Если помещение открыто с 0:0-0:0, то считаем, что в этот день для бизнеса выходной (и ставим 0).
Входные данные располагаются по адресу: /data/yelp/business.
Пример выходных данных:
Pns2l4eNsfO8kk83dixA6A\t0
n_0UpQx1hsNbnPUSlodU8w\t46
Параметры запуска скрипта:
./run.sh <output_folder>
Часть 2 (3 балла)
Для данных из части 1 выведите топ-10 бизнесов, которые работают большее количество времени в течение недели. При равном количестве минут отсортируйте данные по возрастанию business_id.
Пример вывода:
n_0UpQx1hsNbnPUSlodU8w\t46
Pns2l4eNsfO8kk83dixA6A\t0
./run.sh <output_folder>
Часть 3 (5 баллов)
Для каждого пользователя в базе Yelp посчитайте статистику:
Мотивация: необходимо найти influencer-ов, но нам неважно найти тех, чьи отзывы в сумме популярны. Нам важно найти самые "зажигающие" отзывы!
Для каждого из пользователей необходимо вывести количество друзей в социальной сети.
Формат вывода (id пользователя, сумма по топ-5 useful, количество друзей):
8g_iMtfSiwikVnbP2etR0A\t2034\t50
./run.sh <output_folder>