Вопрос

Может ли кто-нибудь рассказать мне о компромиссах, связанных с выбором между Storm и MapReduce в кластере Hadoop для обработки данных? Конечно, помимо очевидного, что Hadoop (обработка через MapReduce в кластере Hadoop) является системой пакетной обработки, а Storm-это система обработки в реальном времени.

Я немного поработал с системой Hadoop Eco, но я не работал со Storm. Просматривая множество презентаций и статей, я все еще не смог найти удовлетворительный и всесторонний ответ.

Примечание: термин компромисс здесь не предназначен для сравнения с подобными вещами. Он предназначен для представления последствий получения результатов в режиме реального времени, которые отсутствуют в системе переработки пакетной обработки.

Это было полезно?

Решение

Уменьшение карты: Распределенная распределенная вычислительная структура. MapReduce позволяет вам работать из-за огромных объемов данных- с большим количеством работы для предотвращения сбоев из-за оборудования. MapReduce - плохой выбор для вычисления результатов на лету, потому что он медленный. (Типичная задача MapReduce берет на себя заказ минут или часов, а не микросекунд)

Задача MapReduce принимает файл (или какой -то хранилище данных) в качестве ввода и записывает файл результатов. Если вы хотите, чтобы эти результаты были доступны для приложения, вы обязаны поставить эти данные в доступное место. Это, вероятно, медленно, и между значениями, которые вы можете отобразить, будет задержка, и значениями, которые представляют вашу систему в ее текущем состоянии.

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

Буря: Потоковая вычислительная система в реальном времени. Storm - это онлайн -структура, что означает, в этом смысле услуга, которая взаимодействует с приложением. В отличие от MapReduce, он получает небольшие части данных (не целый файл), как они обрабатываются в вашем приложении. Вы определяете DAG операций для выполнения данных. Распространенным и простым вариантом использования для шторма является отслеживание счетчиков и использование этой информации для заполнения панели панели в реальном времени.

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

Если вы хотите узнать больше ...Если вы хотите узнать больше о системах в реальном времени, которые соответствуют параметрам с MR и примените модели по-другому Вот слайды для разговора, которые я выступил с строительством рекомендательных двигателей в реальном времени на HBASE.

Отличная газета, которая женится на подсчете в реальном времени и настойчивости интересным образом Персонализация Google News: масштабируемая онлайн -совместная фильтрация

Еще один интересный брак мистера и шторма - это Суммирование. Анкет SummingBird позволяет вам определять операции анализа данных, которые могут применяться через шторм или MR.

Другие советы

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

Сам Hadoop - это не одна вещь, а имя для федерации услуг, таких как HDF, Hive, Hbase, MapReduce и т. Д. Storm - это то, что вы используете с некоторыми из этих услуг, таких как HDFS или HBASE. Это структура обработки потоков. В расширенной экосистеме Hadoop есть и другие, например, потоковая передача искры.

Когда вы бы выбрали структуру обработки потока? Когда вам нужно отреагировать на новые данные в почти в реальном времени. Если вам нужен такой инструмент, вы также разверните этот вид инструмента.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с datascience.stackexchange
scroll top