У меня есть огромное хранилище данных txt, по которому я хочу собрать статистику.
Используя Hadoop-streaming и Python, я знаю, как реализовать MapReduce для сбора статистики по одному столбцу, например. подсчитайте, сколько записей есть для каждой из 100 категорий. Я создаю простые файлы mapper.py и reducer.py и подключаю их к команде hadoop-streaming как -mapper и -reducer соответственно.
Теперь я немного не понимаю, как на практике подойти к более сложной задаче: сбору различной статистики по различным другим столбцам в дополнение к категориям выше (например, географии, типам, датам и т. д.). Все эти данные находятся в тех же текстовых файлах.
Связывать ли задачи картографа/редьюсера вместе? Должен ли я передавать пары ключ-значение изначально долго (со всеми включенными данными) и «лишать» их интересных значений одно за другим во время обработки? Или это неверный путь? Мне нужен практический совет о том, как люди «склеивают» различные задачи MapReduce для одного источника данных из Python.