Віктор Турський про програмування / навігатор

концепції / map-reduce

Map-reduce

Розглядається не як біг-дата-баззворд, а як практичний трюк, що дозволив Вікторові побудувати інвертований індекс на 16,5 млн рядків, не тримаючи 10–15 ГБ у RAM. Він проходить по статті Google про MapReduce 2004 року, Hadoop і Hadoop streaming, а потім демонструє потокову модель звичайними Unix-інструментами: map-крок на Node.js видає пари (token, doc), Unix sort грає роль shuffle, а reduce-крок групує postings за токенами. Ті самі скрипти можна запускати на справжньому Hadoop — саме для цього він написав власний npm-модуль hadoop-streaming-utils (відео про інвертовані індекси).

Розібрано у відео

Повʼязане

Інвертований індекс — артефакт, який продукує цей конвеєр Повнотекстовий пошук — задача, яка розв’язується Алгоритмічна складність — компроміс «пам’ять чи стримінг» у дії