уменьшить карту для объединения наборов данных?

У меня есть три разных решения, в которых я храню документы с document_ids (поисковая система, база данных nosql и самостоятельно разработанное приложение семантического индексирования).

Я выполняю запросы ко всем различным решениям и хотел бы объединить их, используя что-то похожее на SQL JOIN. Это означает, что иногда у меня может быть 3 или более разных набора данных, которые мне нужно объединить в document_id.

Знаете ли вы, является ли Map Reduce на Hadoop или что-то подобное лучшим способом решить эту проблему? Эти наборы данных могут содержать от 1 document_id до 100 000.

Спасибо за ваше время!


person user1608681    schedule 18.08.2012    source источник


Ответы (2)


Hadoop хорош, если вам нужно задействовать много ресурсов ЦП при обработке документов перед их объединением. В том же документе обработки задания (в функции MAP) вы можете использовать процесс перетасовки в качестве механизма соединения относительно легко.
В то же время простое объединение 100 000 элементов не должно требовать более скромных СУБД.

person David Gruzman    schedule 19.08.2012

Для таких небольших наборов данных подойдет почти все. Особенно - я бы порекомендовал системы в памяти, поскольку все ваши данные могут легко поместиться в памяти. Одним из таких решений является GridGain (полная поддержка In-Memory MapReduce, SQL и т. д., среди прочего).

person Nikita Ivanov    schedule 18.08.2012