Распределенные агрегации данных, запросы, фильтрация: какие-либо альтернативные среды для Hadoop / Mapreduce?(MR слишком медленный) - PullRequest
3 голосов
/ 18 января 2012

Мы планируем поместить множество метрических данных в какую-то разновидность nosql db, возможно, cassandra, может быть, что-то еще, на нескольких серверах.

Мы хотим выполнить вычисления для данных в стиле сокращения карты (объединить данные на компьютере, на котором они живут, а затем объединить результаты).

Я сделал POC, используя Cassandra, Hadoop и mapreduce. Затраты на запуск рабочих мест в maprecece и получение результатов оказались слишком высокими для наших нужд.

Прежде чем мы пойдем по-своему, есть ли еще какие-нибудь распределенные Java-фреймворки, которые подчеркивают производительность?

Ответы [ 4 ]

2 голосов
/ 18 января 2012

Взгляните на шторм .

Из документации:

Storm - это распределенная система вычислений в реальном времени. Подобно тому, как Hadoop предоставляет набор общих примитивов для выполнения пакетной обработки, Storm предоставляет набор общих примитивов для выполнения вычислений в реальном времени. Storm прост, его можно использовать с любым языком программирования, и это очень весело!

2 голосов
/ 18 января 2012

Посмотрите на Oracle Coherence , распределенный кеш, который позволяет распределять данные между виртуальными машинами, объединять и вычислять параллельно, а также масштабировать по горизонтали.

1 голос
/ 18 января 2012

Before we go roll our own, are there any other distributed java frameworks out there that emphasize performance? - каждый фреймворк будет стремиться подчеркнуть производительность как одно из измерений.

Я сделал POC, используя Cassandra, Hadoop и mapreduce. Затраты на запуск заданий maprecece и получение результатов оказались слишком высокими для наших нужд.

Кассандра является одним из типов источника входного сигнала для MR. Использование MR потребует времени для запуска / завершения задач карты, перемешивания и запуска / завершения задач сокращения. MR предназначен для пакетной обработки, а не для мгновенных результатов. Некоторый уровень настройки может быть выполнен, но вы должны искать среду обработки в реальном времени или потоковой обработки.

Взгляните на HStreaming (обратите внимание, что я не использовал его)

HStreaming позволяет использовать те же алгоритмы и функции MapReduce и Apache Pig для обработки в реальном времени или пакетной обработки. Существующий код, такой как пользовательские функции (UDF), можно перенести в потоковую обработку без изменений или с минимальными изменениями. Это ускоряет цикл развития вашего бизнеса и позволяет быстро адаптироваться к меняющимся требованиям бизнеса.

0 голосов
/ 18 января 2012

Я вижу, что коммерческая база данных в хранилище столбцов vertica имеет функции, аналогичные уменьшению карты.Хотя вы выражаете свои агрегаты с их версией операторов SQL.Я уверен, что этот продукт не из дешевых ...

...