Фреймворковые приложения Storm

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

Кто-нибудь дает совет, какое приложение эффективно использует Storm framework.


person ndk076    schedule 07.10.2015    source источник


Ответы (1)


Storm — это очень масштабируемая, быстрая, отказоустойчивая система с открытым исходным кодом для распределенных вычислений, в которой особое внимание уделяется потоковой обработке. Storm отлично справляется с обработкой событий и инкрементными вычислениями, вычисляя скользящие метрики в реальном времени по потокам данных.

Обработка потока событий — главная сила Storm.

Обычно Hadoop используется для пакетной обработки. Но Storm — это Hadoop для обработки в реальном времени, а Spark — это распределенная обработка для всех с хранилищем данных в памяти.

Взгляните на этот Storm and Spark и Сравнение стеков

введите здесь описание изображения

ИЗМЕНИТЬ:

Мое решение этой проблемы

1) Сохраняйте изображения в CMS (системе управления контентом) с CDN, разбросанной по нескольким сетям, а не в базе данных HDFS или NoSQL)

2) Сохраните метаданные идентификатор изображения, имя изображения, MD5SUM, местоположение изображения в таблице HBase.

3) Используйте Spark и HBase для обработки данных изображения, например. удалите повторяющееся изображение, установив флажок MD5SUM

person Ravindra babu    schedule 07.10.2015
comment
Спасибо за ответ и отличные ссылки! Я все еще не могу понять, является ли Storm подходящим решением для задач поиска похожих изображений с изображениями, хранящимися на распределенном компьютере? - person ndk076; 07.10.2015
comment
Я тоже. Я предпочитаю Искру Шторму. - person Ravindra babu; 07.10.2015
comment
Отказ от ответственности: я коммиттер в Apache Flink Вы также можете рассмотреть flink.apache.org В отличие от Spark, он обеспечивает настоящую потоковую передачу, аналогичную Storm (и не использует микропакеты, как Spark), в то время как Flink также может обрабатывать пакетные задания. Сравните: stackoverflow.com/questions/28082581/ и stackoverflow.com/questions/30699119/ - person Matthias J. Sax; 07.10.2015
comment
@ Матиас Дж. Сакс и Равиндра: спасибо за оба ответа. Поэтому я действительно смущен тем, что моя текущая реализация проблемы поиска представляет собой пакетную обработку на базе Hadoop, поэтому могу ли я использовать Flink ot Storm в качестве сменного решения для переноса этой проблемы в потоковую обработку. - person ndk076; 08.10.2015
comment
Это зависит от вас и удобства вашей организации, срочности доставки и спонсорства для перехода на другую технологию и т. д. Если ничего невозможно, вы продолжите с текущим состоянием (задержка обработки с пакетной обработкой Hadoop) - person Ravindra babu; 08.10.2015
comment
да, я должен перейти на другие технологии, чтобы достичь реального или близкого к реальному времени для этой задачи. в основном, когда пользователь запрашивает изображение, моя система запускается и возвращает аналогичные изображения для пользователя. На этом этапе было выполнено множество вычислений для сравнения, а также задача ввода-вывода для доступа к коллекции изображений, хранящихся в HDFS. - person ndk076; 08.10.2015
comment
что меня смутило, так это то, что вышеуказанный поток данных может стать потоковой передачей данных? Насколько я понимаю, Hadoop одновременно обрабатывает большой объем данных для обработки и повторяет эту обработку до завершения. В то время как потоковая передача Storm (Spark...) означает, что поток данных обрабатывается непрерывно, но в этом случае система работает только тогда, когда пользователь взаимодействует с ней, если я использую Storm или Spark или какие-либо другие технологии, поддерживающие процесс потоковой передачи, у меня есть загрузить данные -> выполнить какую-то внутреннюю задачу -> вернуть результат. так интуитивно мы можем видеть, что это не улучшит производительность? - person ndk076; 08.10.2015
comment
Тем не менее я думаю, что Spark + HBase (из-за базы данных в памяти) будет достаточно быстрым, чтобы удовлетворить ваши требования. - person Ravindra babu; 08.10.2015