Программы для демонстрации разных вариантов реализации map-reduce задачи,
подсчитывающей все начальные буквенные биграммы и униграммы в слове после 
слова "great" в части коллекции Google Books n-grams.

Подробности о реализованном map-reduce и ожидаемых результатах тут: 
http://www.barashev.net/2012/12/map-reduce.html

Реализация основана на слегка модифицированном коде проекта mincemeat:
https://github.com/michaelfairley/mincemeatpy

Модификации заключаются, в основном, в реализации нескольких классов,
читающих входные данные в разных вариантах. Оригинальный код mincemeat
находится в файле mincemeat_orig.py

В файле great_bigrams.py реализовано несколько библиотечных функций
для работы с коллекцией Google Books n-grams

В файлах great_bigrams_take1.py, great_bigrams_take2.py, great_bigrams_take_4.py
реализованы прикладные функции map и reduce, соответствующие забегам 1, 2 и 4
в презентации.

В файле great_local.py реализована программа, выполняющая те же функции, но
не использующая map-reduce

В директории input оежит небольшое тестовое подмножество N-грамм из коллекции 
Google Books N-grams размером 4M

Запуск программ:
== Диспетчер map-reduce == 
python <mapreduce_file> input/

где <mapreduce_file> -- один из файлов great_bigrams_take*.py

== Процессор ==
Процессор можно запускать на любой машине в локальной сети

python mincemeat.py -p changeme [dispatcher address]


== Не-map-reduce ==
python great_local.py input
