Qizmt – аналог MapReduce для Windows
Интересное вчерашнее объявление от Myspace.com
Сегодня мы открываем в Open Source Qizmt, внутренний фреймворк для распределенных вычислений, созданный командой Data Mining в Myspace. Qizmt может быть использован для многочисленных операций, которые требуют процессинга больших объемов данных. Таких как фильтрация в системе рекомендаций и аналитика.
Некоторые источники уже отчитались по этому поводу и написали, что это фреймворк для системы рекомендаций. Это не так. Это полноценная имплементация MapReduce, написанная для Windows.
Не так часто любителей .NET сталкиваются с open source проектами такого уровня. Несмотря на то, что система заявленая как Alpha заявлено довольно много функциональности (что неудивительно, поскольку это вроде как работающий на myspace framework)
- Быстрая разработка mapreduce jobs в C#
- Легкий инсталлер
- Встроенный IDE/Debugger (включая step through отладку jobs на кластере)
- Из любой машины в кластере:
- Cluster Assembly Cache (CAC) – кеш .NET assemblies для mapreduce jobs
- 3 вида jobs:
— Mapreduce – set логика для больших объемов данных
— Remote – для тех задач, которые не подходят под шаблон mapreducer
— Local – оркестрация связей между Mapreduce и Remote jobs
- 3 способа обмена данных в mapreduce
— Отсортированные – key/value пары равномерно отсортированы по кластеру
— Сгруппированные – неотсортированные, но похожие пары key/value на одному reducer
— Сортированные по хэшу – супер быстрый способ сортировки случайных данных
Выглядит все это довольно внушительно, хотя у думаю сейчас уже не особо важно на чем такие frameworks написаны. Используют их все равно платформо независимыми методами – легкими сервисами а-ля REST/REST2. Говорят тот же Bing использует Hadoop. Но в любом случае приятно что коллеги из Myspace поделились кодом.
Да, код на гуглокоде