Хорошее использование шторма? - PullRequest
8 голосов
/ 21 февраля 2012

Я читал о Storm и игрался с примерами из Storm-Starter.

Мне кажется, я понял концепцию, и она очень хорошо применима во многих случаях.У меня есть тестовый проект, который я хочу сделать, чтобы узнать больше об этом, но мне интересно, действительно ли Storm подходит для этого.

Концептуальная проблема, с которой я столкнулся, связана с определением потоковой передачи.Кажется, что Storms будет работать в качестве талисмана, подписываясь на поток и обрабатывая его в реальном времени, но у меня на самом деле нет потока, а есть конечный набор данных, которые я хочу обработать.

IЯ знаю, что для этого есть обруч, но меня интересуют возможности Storm в реальном времени, а также другие интересные моменты, о которых Натан, который написал Storm, упоминает в своих выступлениях.

Поэтому мне было интересно, пишут ли людиНосики, которые опрашивают не потоковые API-интерфейсы, а затем анализируют результаты, возможно, для эмуляции потока?

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

Итак, все ли это имеет смысл в терминах Шторма или я смотрю не на то?Если да, то какие альтернативы вы предлагаете для удовлетворения потребностей параллельных вычислений в реальном времени?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 21 февраля 2012

Нашел ответ в штормовой гугл-группе . Похоже, что топологии DRCP будут выдавать кортеж с параметрами, которые получены носителем DRCP в виде потока, а затем сообщат о завершении обработки (используя уникальный идентификатор, называемый идентификатором запроса).

В том же потоке говорится, что hadoop, вероятно, лучше всего подходит для этих случаев, если только данные недостаточно велики и не могут обрабатываться целиком постоянно.

0 голосов
/ 10 апреля 2014

Если вы ищете быстрое, интерактивное и удобное для разработчиков решение для пакетной обработки, вам может понадобиться Apache Spark вместо Storm.

Trident / DRPC более полезенкогда вы хотите запускать запросы для ваших непрерывных вычислений.

0 голосов
/ 26 июня 2013

Конечно, можно использовать Storm для обработки конечного сбора данных и остановки после обработки всех элементов.Топологии DRPC являются одним из способов сделать это, но накатить собственное решение не сложно.

Идея состоит в том, чтобы отслеживать, какие элементы в вашем конечном наборе данных были обработаны или нет, что легко сделать в Spout.используя методы ack () и fail ().

...